在Python中提取列表中的特定元素

1 投票
2 回答
4456 浏览
提问于 2025-04-18 05:39

这里有一个列表:

foo=[(1, 2, {'weight': 1}), (1, 3, {'weight': 2}), (1, 4, {'weight': 3}), (`1 5, {'weight': 4}), (1, 6, {'weight': 5}), (1, 7, {'weight': 6})]

假设我想从 foo 里面的每个列表中提取一个特定的元素,并把它存储到一个单独的列表里。

比如,我想从 foo 里面的每个列表中提取第二个元素,然后把它保存在一个叫 bar 的数组里。

bar=[2,3,4,5,6,7]

在 Python 2.7x 中怎么做呢?

2 个回答

2
>>> from operator import itemgetter
>>> map(itemgetter(1), foo))
[2, 3, 4, 5, 6, 7]

这段代码的意思是……

首先,它会做一些初始化的工作,比如设置变量或者准备一些数据。接下来,它会进入一个循环,这个循环会重复执行一些操作,直到满足特定的条件为止。循环里面可能会有一些判断,比如如果某个条件成立,就执行某个动作。最后,当循环结束后,代码会继续执行后面的部分,可能是输出结果或者进行其他的处理。

总的来说,这段代码的结构是很常见的,主要就是通过循环和条件判断来实现某些功能。

1

你可以这样做:

bar = [i[1] for i in foo]
>>> print bar
[2,3,4,5,6,7]

撰写回答