这个问题在这里已有答案:
我列出了以下元素:
[[('433318', 0.7064461851335214), ('433363', 0.6709502341952089)],
[('433395', 0.6988424611161282), ('433400', 0.6794787567547861)],
[('433395', 0.6871546406771576), ('433363', 0.653218445986381)]]
现在我想将元素检索到一个新的列表b中
['433318','433363','433395','433400','433395','433363']
a[0][0][0] gives ‘433318’
a[0][1][0] gives ‘433363’
但我正在寻找一种通用的方式(可能在一个遍历整个列表的循环中)并给我想要的结果?
使用列表理解:
l = [[('433318', 0.7064461851335214), ('433363', 0.6709502341952089)],
[('433395', 0.6988424611161282), ('433400', 0.6794787567547861)],
[('433395', 0.6871546406771576), ('433363', 0.653218445986381)]]
[y[0] for x in l for y in x]
使用列表理解是最好的,但是看看常规循环版本的外观可能会有所帮助:
my_list = [[('433318', 0.7064461851335214), ('433363', 0.6709502341952089)],
[('433395', 0.6988424611161282), ('433400', 0.6794787567547861)],
[('433395', 0.6871546406771576), ('433363', 0.653218445986381)]]
result = []
for inner_list in my_list:
for inner_tuple in inner_list:
result.append(inner_tuple[0])