在Python中提取列表中的特定元素
这里有一个列表:
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]