使用Python(2.7.1)中的字典将多个单词的列表转换为多个数字的列表

| 我有一个代码
\"aaabbbcccdddeee\"
,我将它分成3个字母词(例如
\'aaa\'
\'bbb\'
\'ccc\'
...等),并使用
d=dict(zip((\'aaa\',\'bbb\',\'ccc\',\'ddd\',\'eee\'),(123,234,345,456,567)))
为其分配了一个数字值 如果我有3个字母单词的随机序列
RANDOM=\"\'aaa\',\'bbb\',\'ddd\',\'ccc\',\'eee\',\'ddd\',\'bbb\',\'aaa\',\'eee\',\'ccc\'\"
如何创建将RANDOM列表转换为由字典中先前分配的数字值组成的列表的列表 示例:
RANDOM=\"\'aaa\',\'bbb\',\'ddd\',\'ccc\',\'eee\',\'ddd\',\'bbb\',\'aaa\',\'eee\',\'ccc\'\"
\'生成
\'123\',\'234\',\'456\',\'345\',\'567\',\'456\',\'234\',\'123\',\'567\',\'345\'
我发现如何做到这一点的价值:
>>> x=d[\'aaa\']

>>> print x

>>> 123
如何针对整个RANDOM列表执行此操作? 如果我简单地说,它是行不通的:
>>> y=d[\'aaa\',\'bbb\',\'ddd\',\'ccc\',...]
有谁知道为什么这行不通,或者如何使它生效以获取完整的数字列表。即123,234,456,345,...? 我已经断断续续地弄了几个星期。如果您想知道的话,这不是作业,但这可以帮助我完成其他领域的学习。任何帮助将不胜感激!     
已邀请:
y = d [\'aaa \',\'bbb \',\'ddd \',\'ccc \',...] 无法使用,因为\'aaa \',\'bbb \',\'ddd \',\'ccc \'不是有效的密钥。 y = d [...]查找单键值,并在字典中返回该键的单匹配项。 因此,您只需要一次翻译每个条目。   y = d [\'aaa \']      x = d [\'bbb \']      z = d [\'ccc \']      然后a = [y,x,z] ...等 或者,更明智的是,我们可以使用基于RANDOM列表的长度循环的循环。   一个= list()      对于RANDOM中的x:           a.append(d [x])    或者,想想   a = [d [x] for RANDOM中的x]     
重复。
y = [d[x] for x in L]
    
y = map(d.get, RANDOM)
例:
>>> d = dict(zip((\'aaa\',\'bbb\',\'ccc\',\'ddd\',\'eee\'), (123,234,345,456,567)))
>>> RANDOM = [\'aaa\',\'bbb\',\'ddd\',\'ccc\',\'eee\',\'ddd\',\'bbb\',\'aaa\',\'eee\',\'ccc\']
>>> y = map(d.get, RANDOM)
>>> y
[123, 234, 456, 345, 567, 456, 234, 123, 567, 345]
如果
RANDOM
包含的内容不在ѭ14item中,则
d.get()
返回
None
而不是在构造
y
列表的中间加
KeyError
。     

要回复问题请先登录注册