python的dictionary遍历的问题

ww884203 2010-12-14 08:15:52
初学者学习python,在Dive into python里面看到例子是

import os
for k, v in os.environ.items():
print ('%s=%s' % (k,v))

这个可以正常输出,没有问题。
但是我输出我自己定义的一个Dictonary就有问题

li = {'a':'b','c':'d'}
for k,v in li:
print('%s=%s' % (k,v))

提示有问题,错误为

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
for k, v in li:
ValueError: need more than 1 value to unpack

而我只定义一个值就没有问题

for k in li:
print(k)

但是这样就只能得到key的值没有value,请问正确的遍历方式是什么?
...全文
343 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑哥 2010-12-14
  • 打赏
  • 举报
回复
楼上的是对的。肯定是对dic中的items进行遍历。你的做法肯定不行。
李察德-泰森 2010-12-14
  • 打赏
  • 举报
回复

li = {'a':'b','c':'d'}
for k,v in li.items():
print('%s=%s' % (k,v))
bh20077 2010-12-14
  • 打赏
  • 举报
回复
2.x你和那个代码是对的。3.x就不知道了,自己看3.x的文档

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧