제가 해결해야 할 도전 문제가있었습니다. 이것이 데이터의 모습입니다.
data = [{'Clay':[x for x in range(2, 3)]},
{'George':[x for x in range(7)]},
{'Buddy':[x for x in range(5, 8)]},
{'Mark':[x for x in range(7, 11)]},
{'John':[x for x in range(1, 10)]}]
챌린지 질문은 데이터에서 "Buddy"라고 말하는 값을 찾고 그로부터 숫자 / 값을 추가로 인덱싱하여 6이라고 말하는 것이 었습니다. 이것이 제가 지금까지 생각 해낸 것이지만 여기에 갇혀있었습니다.
data = [{'Clay':[x for x in range(2, 3)]},
{'George':[x for x in range(7)]},
{'Buddy':[x for x in range(5, 8)]},
{'Mark':[x for x in range(7, 11)]},
{'John':[x for x in range(1, 10)]}]
def find_usr(usr, val):
if usr in data:
print("True")
else:
print("False")
find_usr(usr="Buddy", val=6)
그것은 반환 False
나는 확실히 여기에서 잘못 가고 나는 주제에 몇 가지 검색을했지만 가능한 해결책을 찾을 수 coudn't 무엇 아니에요.
추가 디버깅 세부 사항은 환영합니다!
실제 값 목록에서 인덱싱해야하는 딕셔너리 목록에서 값을 인덱싱하는 대신 실제 목록 내부에있는 값의 청사진이있는 dict it self로 목록의 값을 인덱싱합니다.
def find_usr(usr, val):
res = ["The Value Is: "+str(data[i][usr][data[i][usr].index(val)]) if usr in data[i] else 0 for i in range(len(data))]
print(list(filter(lambda res: res != 0, res))[0])
find_usr(usr="Buddy", val=6)
이것이 명확하고 혼란스럽지 않기를 바랍니다!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다