python - 将一个值映射到列表中的另一个值

标签 python list mapping

在 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/

相关文章:

python - PySide Qt4 - Qtabwidget - 禁用单个 q 选项卡小部件的拖放

python - 如何在 Python 中将多个项目从一个列表移动到另一个列表

python - 排序列表列表并在未排序列表中获取索引

python - 如何让我的 Cartopy 颜色条具有我设置的特定范围?

hibernate - Grails 从 Hibernate XML 到 GORM 的转换

python - 使用 Python simplejson 返回预生成的 json

python - 在类实例之间共享列表的正确方法是什么?

python - 检测一个字符串是否在另一个字符串中

python - 调用statistics.mean()时消耗的列表

elasticsearch - 查询 Elasticsearch 基于地址的索引