일부 항목에 쉼표로 구분된 값이 포함된 항목 목록에서 목록을 만들고 싶습니다. 다시 말해, 부터
['a, b', 'c', 'd, e']
성취하다
[['a', 'c', 'd'], ['a', 'c', 'e'], ['b', 'c', 'd'], ['b', 'c', 'e']]
중첩 루프의 각 항목에 대해 반복을 시도했지만 쉼표 분리가 문제인 것 같습니다.
미리 감사드립니다!
쉼표 분리 문제를 해결하기 위해 목록의 각 문자열을 분할할 수 있습니다.
data = ['a, b', 'c', 'd, e']
print([value.split(',') for value in data])
이것은 우리에게 ['a', ' b'], ['c'], ['d', ' e']]
이러한 추가 공백을 제거하기 위해 내부 목록의 각 결과 요소에 map
적용 하여 함수를 수정할 수 있습니다 str.strip
.
data = ['a, b', 'c', 'd, e']
print([list(map(str.strip, value.split(','))) for value in data])
결과는 [['a', 'b'], ['c'], ['d', 'e']]
이제 itertools.product
최종 조합에 사용할 수 있습니다 .
import itertools
data = ['a, b', 'c', 'd, e']
data_normalized = [list(map(str.strip, value.split(','))) for value in data]
print(list(itertools.product(*data_normalized)))
결과는 [('a', 'c', 'd'), ('a', 'c', 'e'), ('b', 'c', 'd'), ('b', 'c', 'e')]
입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다