Skip to main content
 首页 » 编程设计

python之python 3中的operator.setitem问题

2025年05月04日19hnrainll

我在 python 3 中使用 operator.setitem 时遇到问题。

当我使用下面的代码并在 python 3.1 中运行它时。

people=(('fred','sam','jane','betty'),(1,2,3,4)) 
p_dict = {} 
map(operator.setitem, [p_dict]*len(people[0]), people[0],people[1]) 
print (p_dict) 
 
>>> {} 

这只是打印出一个空字典 {}。

但我使用相同的代码在 python 2.6 中运行。 它打印出 {'jane': 3, 'betty': 4, 'sam': 2, 'fred': 1} 。 这就是我想要的结果。

那么,有人能告诉我在 python 3 中运行这段代码时出现了什么问题吗? 提前致谢。

请您参考如下方法:

这是一种非常不符合 Python 风格的方法。这样更好(也更有效):

people = (('fred','sam','jane','betty'), (1,2,3,4)) 
p_dict = dict(zip(*people)) 

适用于 2.x 和 3.x。