list = ['AB', 'CD', 'EF', 'GH']
我想分裂這樣的名單:
first = ['A', 'C', 'E', 'G']
second = ['B', 'D', 'F', 'H']
現在,我不喜歡這樣的:
for element in list:
first.append(element[0])
second.append(element[1])
這是個好辦法嗎?其實,名單的長度超過60萬。
list = ['AB', 'CD', 'EF', 'GH']
我想分裂這樣的名單:
first = ['A', 'C', 'E', 'G']
second = ['B', 'D', 'F', 'H']
現在,我不喜歡這樣的:
for element in list:
first.append(element[0])
second.append(element[1])
這是個好辦法嗎?其實,名單的長度超過60萬。
你可以試試這個:
list = ['AB', 'CD', 'EF', 'GH']
first, second = zip(*list)
print(first)
print(second)
輸出:
('A', 'C', 'E', 'G')
('B', 'D', 'F', 'H')
循環通過列表,並追加到一對空單可以做到像下面所示的例子。
list = ['AB', 'CD', 'EF', 'GH']
first=[]
second=[]
for f in list:
first.append(f[0])
second.append(f[1])
print(first)
print(second)
輸出會像
[ 'A', 'C', 'E', 'G']
[ 'B', 'd',「F ','H']
你的代碼與OP中發佈的問題有什麼不同? – Blorgbeard
似乎完全合理。 – Blorgbeard
你可以做'first,second = zip(* l)'(授予的zip會返回元組,然後你可以將它們轉換成列表。 – Bahrom
非常類似:[Python:根據條件拆分列表?] /stackoverflow.com/q/949098),而不是你正在分割每個值的條件 –