Python:如何移除每个子列表的第二个元素?

3 投票
3 回答
1372 浏览
提问于 2025-04-16 05:15

我有一个包含子列表的列表,比如:

[[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]

撰写回答