我想根据dict的值映射python列表。当我有pandas系列时,我知道如何做到这一点,但我不知道如何使用list:
l = ['apple', 'lemmon', 'banana']
x = {'apple':1, 'lemmon':2, 'banana':3, 'chery':4}
l = l.map(x)
print(l)
期望输出:
l = [1,2,3]
这可以通过Python列表理解来解决。在您的情况下:
l = [x[key] for key in l]
注意,l
中的所有元素都需要作为密钥存在于x
中。
使用dict.get
方法和map
内置:
m = list(map(x.get, l))
注意,不是x
的密钥的l
的元素将被映射到None
。
理解:
>>> [x.get(i) for i in l]
[1, 2, 3]