我有以下代碼(工作代碼):如何刪除列表中每個元組的每一個第二個字符串?
import csv
original_list = [('1321', '01'), ('MessageXZY', '02'), ('DescriptionSKS', '03'), ('S7_6', '04'), ('S7_3', '05'), ('0A3B', '06'), ('MessageZYA', '07'), ('DescriptionKAM', '08'), ('9K44', '09'), ('MessageYAL', '10'),
('DescriptionAUS', '11'), ('S7_2', '12')]
code_list = ['1321', '0A3B','9K44']
grouped_tuples = []
for entry in original_list:
if entry[0] in code_list:
new_tuple = []
new_tuple.append(entry)
for i in range(original_list.index(entry)+1, len(original_list)):
if(original_list[i][0] not in code_list):
new_tuple.append(original_list[i])
else:
break
grouped_tuples.append(tuple(new_tuple))
如果我再補充上:
for entry in grouped_tuples:
for item in entry:
print (item[1])
我得到以下列表:
01
02
03
04
05
06
07
08
09
10
11
12
我想什麼do是從元組中移除這些數字。因此,而不是使用上面的代碼,我用:
for entry in grouped_tuples:
for item in entry:
a = grouped_tuples.remove(item[1])
print (a)
但是我得到的消息:ValueError異常:list.remove(X):X不在列表中我知道項[0]是列表就像我剛剛打印的那樣。什麼導致了這個錯誤?
元組是不可變的,你無法從它們移除項目 - 您必須創建一個沒有該項目的新元組。 – jonrsharpe
您的列表包含元組的元組 –