在 Python 列表中,如何将一个值的所有实例映射到另一个值?
例如,假设我有这个列表:
x = [1, 3, 3, 2, 3, 1, 2]
现在,也许我想将所有 1
更改为 'a'
,将所有 2
更改为 'b '
,以及所有 3
到 'c'
,以创建另一个列表:
y = ['a', 'c', 'c', 'b', 'c', 'a', 'b']
我怎样才能优雅地做这个映射?
最佳答案
你应该使用字典和 list comprehension :
>>> x = [1, 3, 3, 2, 3, 1, 2]
>>> d = {1: 'a', 2: 'b', 3: 'c'}
>>> [d[i] for i in x]
['a', 'c', 'c', 'b', 'c', 'a', 'b']
>>>
>>> x = [True, False, True, True, False]
>>> d = {True: 'a', False: 'b'}
>>> [d[i] for i in x]
['a', 'b', 'a', 'a', 'b']
>>>
字典是什么转换成什么的翻译表。
关于python - 将一个值映射到列表中的另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26567862/