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

标签 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):
    data = [my_dict.get(item,item)  for item in my_list]
return (data)

最佳答案

从函数name_replace返回data而不是my_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))

Output: ['Bob Doe', 'Bob Smith']

关于python - 使用包含下划线的字典替换列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49076437/

相关文章:

python - 如何使用 odoo 查询进行过滤、搜索、分组

java - Ebean finder 列表大小条件

python - 在循环的条件语句中调用 len() 可以吗?

python - 漂亮的嵌套字典作为表格

python - 如何在本地修改字典而不影响 python 中的全局变量

python - 如何停止更新对象列表中所有对象的字典? (Python)

python - 使用 Python 和 MySQL 进行字符串编码

python - pyvenv 无法工作,因为 Ensurepip 不可用

python - 使用 python 与本地 HTML 文件交互

r - 如何从两个列表中获取每个组合?