使用字典键转换列表中的元素

时间:2015-12-17 18:34:38

标签: python list dictionary

我的values列表与我之前创建的字典中的某些keys匹配。

myDict = {1:'A',2:'B',3:'C'}
myList = ['A','A','A','B','B','A','C','C']

如何创建/转换myList之类的内容:

myNewList = [1,1,1,2,2,1,3,3]

有人能指出我正确的方向吗?

不确定是否重要,我在另一个脚本中使用json创建了字典,现在我在当前脚本中加载创建的字典。

3 个答案:

答案 0 :(得分:8)

一种简单的方法是反转myDict,然后使用它来映射新列表:

myNewDict = {v: k for k, v in myDict.iteritems()}
myNewList = [myNewDict[x] for x in myList]

另请参阅Python命名约定:What is the naming convention in Python for variable and function names?

答案 1 :(得分:1)

myDict = {1:'A',2:'B',3:'C'}

myList = ['A','A','A','B','B','A','C','C']

value = [key for i in myList for key, value in myDict.iteritems() if i == value]

print value

我建议你阅读一下压缩列表 http://docs.python.org.ar/tutorial/3/datastructures.html

答案 2 :(得分:0)

这也有效:

src