如何在 Python 中遍历字典 {}

3 投票
2 回答
4412 浏览
提问于 2025-04-16 15:15

这是我的代码:

a = {0:'000000',1:'11111',3:'333333',4:'444444'}

b = {i:j+'www'  for i,j in a.items()}
print b

但是它显示了错误:

  File "g.py", line 7
    b = {i:j+'www'  for i,j in a.items()}
                      ^
SyntaxError: invalid syntax

我该怎么修正这个问题呢?

2 个回答

3
b = {i:j+'www'  for i,j in a.items()} #will work in python3+

上面这个是一个 dict 推导式(注意是花括号)。这个功能是在Python3中引入的。
我猜你在用的是Python2.x,它只支持 list 推导式。

b = dict( (i:j+'www')  for i,j in a.items() ) #will work in python2.4+
          <-----generator exression------->

关于生成器的更多信息。

4
{i:j+'www'  for i,j in a.items()}
dict((i,j+'www') for i,j in a.items())

在Python 3中,字典推导式可以正常使用。

你可以在这里看到示例:http://ideone.com/tbXLA(注意,我在Python 3中是以函数的方式调用print)。

如果你使用的是低于Python 3的版本,那么就会出现错误。

要实现这种概念,你需要使用列表或生成器表达式,这样可以创建一个包含键和值的元组。一旦这样做了,你就可以调用dict(),它接受一个元组列表。

撰写回答