请,我想要一个更简单的方法来从这本字典的键中提取每个第一个元素:
s = [((3, 6), 9.0), ((1, 6), 8.0), ((3, 8), 8.0), ((3, 7), 7.0), ((0, 6), 7.0), ((1, 8), 7.0), ((0, 8), 6.0), ((2, 4), 6.0), ((1, 7), 6.0), ((2, 6), 5.0), ((2, 9), 5.0), ((0, 7), 5.0), ((3, 5), 5.0), ((2, 8), 4.0), ((1, 5), 4.0), ((0, 4), 4.0), ((3, 2), 4.0), ((2, 3), 4.0), ((2, 1), 3.0), ((1, 2), 3.0), ((2, 7), 3.0), ((1, 4), 3.0), ((0, 5), 3.0), ((0, 9), 3.0), ((3, 0), 2.0), ((0, 3), 2.0), ((2, 0), 2.0), ((3, 4), 2.0), ((0, 2), 2.0), ((1, 9), 2.0), ((1, 3), 1.0), ((2, 5), 1.0), ((3, 9), 1.0), ((1, 0), 1.0), ((0, 1), 1.0), ((3, 1), 1.0), ((3, 3), 0.0), ((1, 1), 0.0), ((0, 0), 0.0), ((2, 2), 0.0)]
我想得到这样的东西:
[3, 1, 3, 3, 0, 1, 0, 2, 1, 2, 2, 0, 3, 2, 1, 0, 3, 2, 2, 1, 2, 1, 0, 0, 3, 0, 2, 3, 0, 1, 1, 2, 3, 1, 0, 3, 3, 1, 0, 2]
我就是这么做的:
l = [a[0][0] for a in s]
我想要一个有效的方法
您的} 从每个键元组有效地提取第一项。你知道吗
s
是嵌套元组的列表。但是通过将它传递给dict
构造函数,您可以很容易地从它创建一个dict
。但是如果您确实有一个dict
,那么可以使用^{输出
但是,您可能不应该这样做,除非您使用的是python3.6+,因为在早期版本中,字典不保留插入顺序,因此不能保证
a
中的项与s
中的项的顺序相同。你知道吗如果您实际上没有
dict
,但只有s
列表,那么您的代码很好。你知道吗
相关问题 更多 >
编程相关推荐