Python:如何移除每个子列表的第二个元素?
我有一个包含子列表的列表,比如:
[[501, 4], [501, 4], [501, 4], [501, 4]]
我该怎么做才能把每个子列表中的第二个元素去掉呢?(也就是4)
我想要的结果是:[501, 501, 501, 501]
我应该一个一个遍历这个列表,还是有更快的方法呢?谢谢!
3 个回答
2
这是一个用 map
函数实现的,比较不符合 Python 风格的写法:
a = [[501, 4], [501, 4], [501, 4], [501, 4]]
map(lambda x: x[0], a)
之所以说不太符合 Python 风格,是因为它没有使用列表推导式。想了解更多,可以查看 这里。
7
你可以用一种叫做列表推导的方法,来获取每个子列表的第一个元素:
xs = [[501, 4], [501, 4], [501, 4], [501, 4]]
[x[0] for x in xs]
# [501, 501, 501, 501]
2
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个桶倒到另一个桶。
有些时候,我们会遇到一些问题,比如数据的格式不对,或者我们想要的数据没有被正确地获取到。这就像是你想要的水被堵住了,无法流到下一个桶里。
为了避免这些问题,我们可以使用一些工具和方法来确保数据能够顺利地流动。比如,我们可以检查数据的格式,确保它是我们需要的样子,或者使用一些代码来处理这些数据,使它们变得更容易使用。
总之,处理数据就像是管理水流,我们需要确保每一步都顺利,这样才能得到我们想要的结果。
a = [[501, 4], [501, 4], [501, 4], [501, 4]]
b = [c[0] for c in a]