更改索引列表中与另一个列表相对应的所有元素

问题描述 投票:2回答:3

我有2个列表:

b = ['zero', 'one', 'two']
c = [0, 0, 0, 1, 1, 2, 1, 0, 2, 0]

是否有一种优雅的方法来更改c中的每个元素并获取

c = ['zero', 'zero', 'zero', 'one', 'one', 'two', 'one', 'zero', 'two', 'zero'] 
python list
3个回答
8
投票
我想只是

c = [b[i] for i in c]

会做的把戏

5
投票
c = map(lambda i: b[i],c)
使用地图

2
投票
使用itemgetter的另一种方法:

from operator import itemgetter itemgetter(*c)(b)

输出:

('zero', 'zero', 'zero', 'one', 'one', 'two', 'one', 'zero', 'two', 'zero')

© www.soinside.com 2019 - 2024. All rights reserved.