Python:迭代列表中的元组
现在,我有一段代码,它提供了以下输出: [('KOR', [3, 1, 0]), ('ITA', [1, 0, 0]), ('TPE', [0, 1, 1]), ('CHN', [0, 1, 0]), ('JPN', [0, 1, 0]), ('AUS', [0, 0, 1]), ('GBR', [0, 0, 1]), ('UKR', [0, 0, 1])]Python:迭代列表中的元组,python,Python,现在,我有一段代码,它提供了以下输出: [('KOR', [3, 1, 0]), ('ITA', [1, 0, 0]), ('TPE', [0, 1, 1]), ('CHN', [0, 1, 0]), ('JPN', [0, 1, 0]), ('AUS', [0, 0, 1]), ('GBR', [0, 0, 1]), ('UKR', [0, 0, 1])] 提前谢谢你 提供相同的结构,您可以通过连接每个内部列表的两个索引,在列表理解中轻松地将其展开: data = [('KOR', [3, 1
提前谢谢你 提供相同的结构,您可以通过连接每个内部列表的两个索引,在列表理解中轻松地将其展开:
data = [('KOR', [3, 1, 0]), ('ITA', [1, 0, 0]), ('TPE', [0, 1, 1]), ('CHN', [0, 1, 0]),
('JPN', [0, 1, 0]), ('AUS', [0, 0, 1]), ('GBR', [0, 0, 1]), ('UKR', [0, 0, 1])]
flattened = [" ".join(str(e) for e in [item[0]] + item[1]) for item in data]
# ['KOR 3 1 0', 'ITA 1 0 0', 'TPE 0 1 1', 'CHN 0 1 0', 'JPN 0 1 0', 'AUS 0 0 1',
# 'GBR 0 0 1', 'UKR 0 0 1']
如果不想使用列表理解,可以按如下方式更改原始代码:
answer = []
for item in data:
result = item[0]
for x in item[1]:
result = result + ' ' + str(x)
answer.append(result)
return answer
我把正确的输出格式弄错了
for item in alist:
for x in item:
answer.append(x)
for item in answer:
if type(item)==str:
answer2.append(item)
else:
for f in item:
answer2.append(f)
return answer2
data = [('KOR', [3, 1, 0]), ('ITA', [1, 0, 0]), ('TPE', [0, 1, 1]), ('CHN', [0, 1, 0]),
('JPN', [0, 1, 0]), ('AUS', [0, 0, 1]), ('GBR', [0, 0, 1]), ('UKR', [0, 0, 1])]
flattened = [" ".join(str(e) for e in [item[0]] + item[1]) for item in data]
# ['KOR 3 1 0', 'ITA 1 0 0', 'TPE 0 1 1', 'CHN 0 1 0', 'JPN 0 1 0', 'AUS 0 0 1',
# 'GBR 0 0 1', 'UKR 0 0 1']
answer = []
for item in data:
result = item[0]
for x in item[1]:
result = result + ' ' + str(x)
answer.append(result)
return answer