Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Dictionary_List Comprehension - Fatal编程技术网

Python 使用包含下划线的字典替换列表值

Python 使用包含下划线的字典替换列表值,python,list,dictionary,list-comprehension,Python,List,Dictionary,List Comprehension,我正试图用一本字典把用户名替换成他们的真名。例如,如果输入为“bob2000”,字典将把列表值替换为“Bob Doe” 但是,我遇到了一个带有下划线的用户名问题。该值不会更改 比如说, my_dict = { 'bob2000':'Bob Doe', 'bob_2001':'Bob Smith'} 返回: my_list = ['Bob Doe', 'bob_2001'] 值只是被跳过了。我的代码如下所示 def name_replace(my_list): da

我正试图用一本字典把用户名替换成他们的真名。例如,如果输入为“bob2000”,字典将把列表值替换为“Bob Doe”

但是,我遇到了一个带有下划线的用户名问题。该值不会更改

比如说,

my_dict = {
     'bob2000':'Bob Doe',
     'bob_2001':'Bob Smith'}
返回:

my_list = ['Bob Doe', 'bob_2001']
值只是被跳过了。我的代码如下所示

def name_replace(my_list):
    data = [my_dict.get(item,item)  for item in my_list]
return (data)

从函数
name\u replace
return
data
not
my\u list

my_dict = {
     'bob2000':'Bob Doe',
     'bob_2001':'Bob Smith'}
my_list = ['Bob Doe', 'bob_2001']
def name_replace(my_list):
  data = [my_dict.get(item,item)  for item in my_list]
  return (data)
print(name_replace(my_list))
输出:['Bob Doe','Bob Smith']


你的代码有些毫无意义。你可以澄清你想要什么,因为你的代码的意图不清楚。你需要返回
数据
而不是
我的列表
。当我的代码返回数据时,我意外地将我的返回作为我的列表。这个问题仍然存在,只适用于带下划线的名称。为什么会发生这种情况?给出示例输入和预期输出以及您得到的结果