Dictionary 使用map函数-Python更新列表中的字典键
我有一本电话号码字典,其中号码是关键,国家是价值。我想更新密钥并根据值country添加国家代码。我尝试使用map函数来实现以下目的:Dictionary 使用map函数-Python更新列表中的字典键,dictionary,map-function,Dictionary,Map Function,我有一本电话号码字典,其中号码是关键,国家是价值。我想更新密钥并根据值country添加国家代码。我尝试使用map函数来实现以下目的: print('**Exmaple: Update phone book to add Country code using map function** ') user=[{'952-201-3787':'US'},{'952-201-5984':'US'},{'9871299':'BD'},{'01632 960513':'UK'}] #A function
print('**Exmaple: Update phone book to add Country code using map function** ')
user=[{'952-201-3787':'US'},{'952-201-5984':'US'},{'9871299':'BD'},{'01632 960513':'UK'}]
#A function that takes a dictionary as arg, not list. List is the outer part
def add_Country_Code(aDict):
for k,v in aDict.items():
if(v == 'US'):
aDict[( '1+'+k)]=aDict.pop(k)
if(v == 'UK'):
aDict[( '044+'+k)]=aDict.pop(k)
if (v == 'BD'):
aDict[('001+'+k)] =aDict.pop(k)
return aDict
new_user=list(map(add_Country_Code,user))
print(new_user)
这在我运行时部分起作用,输出如下:
[{'1+952-201-3787':'US'},{'1+1+1+952-201-5984':'US'},{'001+9871299':'BD'},{'044+01632960513':'UK'}]
请注意,第二个美国号码还有两个“1”。是什么原因造成的?如何修复?非常感谢 问题
你是。不要这样做。蟒蛇公约将是:
new\u dict={}
a_dict
时,将新项目分配给new_dict
新命令
- 定义变量名时,请使用带下划线的小写字母(请参阅)
- 查找值而不是更改输入命令,例如
与a_dict[k]
a_dict.pop(k)
- 缩进正确的空格数(请参阅)