본문 바로가기

Zip2

Python 병렬 리스트의 해당 값에 따라 목록을 정렬합니다. [중복], Sorting list according to corresponding values from a parallel list [duplicate] 질문 나는 다음과 같은 문자열 목록을 가지고 있습니다: X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ] 다음 출력을 얻기 위해 Y의 값을 사용하여 X를 정렬하는 가장 짧은 방법은 무엇인가요? ["a", "d", "h", "b", "c", "e", "i", "f", "g"] 같은 "key"를 가진 요소의 순서는 중요하지 않습니다. for 구문을 사용할 수 있지만 더 짧은 방법이 있는지 궁금합니다. 어떤 제안이 있으신가요? 답변 가장 짧은 코드 [x for _, x in sorted(zip(Y, X))] 예시: X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = .. 2023. 9. 9.
Python 이해력을 갖춘 사전을 만드세요., Create a dictionary with comprehension 질문 리스트 컴프리헨션 구문을 사용하여 사전을 만들 수 있나요? 예를 들어, 키와 값의 쌍을 반복하면서: d = {... for k, v in zip(keys, values)} 답변 dict comprehension (Python 2.7 이상)을 사용하세요: {key: value for key, value in zip(keys, values)} 대안으로, str 키에 대해서는 dict 생성자를 사용하세요: pairs = [('a', 1), ('b', 2)] dict(pairs) # → {'a': 1, 'b': 2} dict((k, v + 10) for k, v in pairs) # → {'a': 11, 'b': 12} 키와 값의 별도의 리스트가 주어지면, zip과 함께 dict 생성자를 사용하세요: ke.. 2023. 5. 23.