본문 바로가기

listcomprehension13

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.
Python 리스트 컴프리헨션에서 if/else, if/else in a list comprehension 질문 나는 문자열과 None 값의 혼합물을 포함하는 xs라는 리스트가 있습니다. 어떻게 리스트 내포를 사용하여 각 문자열에 대해 함수를 호출하지만 None 값을 함수에 전달하는 대신 ''로 변환할 수 있을까요? 저는 다음을 시도해 보았습니다: [f(x) for x in xs if x is not None else ''] 하지만 이것은 SyntaxError를 반환합니다. 올바른 구문은 무엇인가요? 조건에 따라 값을 제외하는 리스트 내포를 만들려고 하는 경우 List comprehension with condition을 참조하십시오. 만약 두 개 이상의 조건 결과를 고려해야 하는 경우, Python의 조건 표현식은 elif를 지원하지 않습니다. 대신, if/else 조건문을 중첩해야 합니다. 자세한 내용은 .. 2023. 5. 20.
Python 리스트를 동일한 크기의 청크로 나누는 방법은 무엇인가요?, How do I split a list into equally-sized chunks? 질문 어떻게 임의 길이의 목록을 동일한 크기의 청크로 분할할 수 있나요? 데이터 결과가 루프에 직접 사용되고 저장할 필요가 없는 경우 목록을 청크로 반복하는 방법을 참조하십시오. 문자열 입력에 대한 동일한 질문의 경우 n번째 문자마다 문자열 분할?을 참조하십시오. 동일한 기술이 일반적으로 적용되지만 일부 차이점이 있습니다. 답변 여기 균등하게 크기가 나눠지는 청크를 생성하는 생성기가 있습니다: def chunks(lst, n): """리스트에서 연속적인 n 크기의 청크를 생성합니다.""" for i in range(0, len(lst), n): yield lst[i:i + n] import pprint pprint.pprint(list(chunks(range(10, 75), 10))) [[10, 11, .. 2023. 5. 6.
Python 리스트에서 항목의 인덱스를 찾는 방법, Finding the index of an item in a list 질문 리스트 ["foo", "bar", "baz"]와 리스트 내 항목 "bar"가 주어졌을 때, 해당 항목의 인덱스 1을 어떻게 얻을 수 있을까요? 답변 >>> ["foo", "bar", "baz"].index("bar") 1 내장된 .index() 메소드의 문서를 참조하십시오: list.index(x[, start[, end]]) 값이 x와 같은 첫 번째 항목의 0을 기준으로 한 리스트 내의 인덱스를 반환합니다. 해당 항목이 없으면 ValueError가 발생합니다. 선택적 인수 start와 end는 슬라이스 표기법과 같이 해석되며 리스트의 특정 하위 시퀀스에서 검색을 제한하는 데 사용됩니다. 반환된 인덱스는 시작 인수가 아닌 전체 시퀀스의 시작부터 계산됩니다. 주의 사항 리스트 길이에 대한 선형 시간 .. 2023. 5. 4.