파이썬 코드를 작성하고 다음과 같은 목록을 얻습니다.
['221.180.147.30', '86', '61.155.169.11', '808']
어떻게 할 수 있습니까?
['221.180.147.30:86', '61.155.169.11:808']
목록 이해력 사용 :
>>> lst = ['221.180.147.30', '86', '61.155.169.11', '808']
>>> [':'.join(lst[i:i+2]) for i in range(0, len(lst), 2)]
['221.180.147.30:86', '61.155.169.11:808']
레시피에zip(*[iter(lst)*N]
도입 된 트릭 사용 itertools
-grouper
(이것은 목록뿐만 아니라 반복 가능한 모든 항목에서 작동합니다) :
>>> [':'.join(group) for group in zip(*[iter(lst)]*2)]
['221.180.147.30:86', '61.155.169.11:808']
최신 정보
사용 map
:
>>> map(':'.join, zip(lst[::2], lst[1::2])) # In Python 2.x
['221.180.147.30:86', '61.155.169.11:808']
>>> list(map(':'.join, zip(lst[::2], lst[1::2]))) # In Python 3.x
['221.180.147.30:86', '61.155.169.11:808']
zip(lst[::2], lst[1::2])
Burhan Khalid의 답변에서 나왔습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다