我有一个包含以下元素的列表:
[[('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’
但是我正在寻找一种通用的方法(可能在一个遍历整个列表的循环中)并给我想要的结果?
答案 0 :(得分:4)
使用列表理解:
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]
答案 1 :(得分:2)
最好使用列表理解,但了解常规循环版本的外观可能会有所帮助:
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])