Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用字典替换字符串列表中的字符_Python_String_List - Fatal编程技术网

Python 使用字典替换字符串列表中的字符

Python 使用字典替换字符串列表中的字符,python,string,list,Python,String,List,我有以下字典: clues = {'A': '#', 'N': '%', 'M': '*'} 我还有以下清单: puzzle = ['#+/084&"', '#3w#%#+', '8%203*',''] 如何将列表中的项目(即通过引用“线索”中的值)替换为“线索”中的键,使其显示如下: puzzle = ['A+/084&"', 'A3wANA+', '8N203M',''] 从词典中创建翻译图,然后使用: 这确实假设线索中的值是唯一的str.translate()是迄今为

我有以下字典:

clues = {'A': '#', 'N': '%', 'M': '*'}
我还有以下清单:

puzzle = ['#+/084&"', '#3w#%#+', '8%203*','']
如何将列表中的项目(即通过引用“线索”中的值)替换为“线索”中的键,使其显示如下:

puzzle = ['A+/084&"', 'A3wANA+', '8N203M','']

从词典中创建翻译图,然后使用:

这确实假设
线索中的值是唯一的
str.translate()
是迄今为止将单个字符映射到其他单个字符的最快方法

演示(使用Python 2.7):


从词典中创建翻译图,然后使用:

这确实假设
线索中的值是唯一的
str.translate()
是迄今为止将单个字符映射到其他单个字符的最快方法

演示(使用Python 2.7):

你可以做:

for key, value in clues.iteritems():
    puzzle = [ a.replace(value,key) for a in puzzle]
要测试它,请执行以下操作:

>>> clues = {'A': '#', 'N': '%', 'M': '*'}
>>> puzzle = ['#+/084&"', '#3w#%#+', '8%203*','']
>>> for key, value in clues.iteritems():
...     puzzle = [ a.replace(value,key) for a in puzzle]
...
>>> puzzle
['A+/084&"', 'A3wANA+', '8N203M', '']
你可以做:

for key, value in clues.iteritems():
    puzzle = [ a.replace(value,key) for a in puzzle]
要测试它,请执行以下操作:

>>> clues = {'A': '#', 'N': '%', 'M': '*'}
>>> puzzle = ['#+/084&"', '#3w#%#+', '8%203*','']
>>> for key, value in clues.iteritems():
...     puzzle = [ a.replace(value,key) for a in puzzle]
...
>>> puzzle
['A+/084&"', 'A3wANA+', '8N203M', '']

+1我将答案复制到剪贴板,打开此选项卡,我看到弹出一个新答案。+1我将答案复制到剪贴板,打开此选项卡,我看到弹出一个新答案。
>>> clues = {'A': '#', 'N': '%', 'M': '*'}
>>> puzzle = ['#+/084&"', '#3w#%#+', '8%203*','']
>>> for key, value in clues.iteritems():
...     puzzle = [ a.replace(value,key) for a in puzzle]
...
>>> puzzle
['A+/084&"', 'A3wANA+', '8N203M', '']