随笔 - 402  文章 - 1 评论 - 20 阅读 - 113万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

摘自:http://www.cnblogs.com/kaituorensheng/archive/2012/09/05/2672711.html

定义字典 dic = {'a':"hello",'b':"how",'c':"you"}

方法一:

for key in dic:

  print key,dic[key]

  print key + str(dic[key])

结果:

  a hello
  ahello
  c you
  cyou
  b how
  bhow

细节:

print key,dic[key],后面有个逗号,自动生成一个空格

print key + str(dic[key]),连接两个字符串,用的是加号,直接输出,中间不加逗号

方法二:

for (k,v) in dic.items():

  print "dic[%s]="%k,v

结果:

  dic[a]= hello
  dic[c]= you
  dic[b]= how

方法三:

for k,v in dic.iteritems():

  print "dic[%s]="%k,v

结果:

  dic[a]= hello
  dic[c]= you
  dic[b]= how

对比:

items()返回的是列表对象,而iteritems()返回的是iterator对象。例如:

print dic.items()        #[('a', 'hello'), ('c', 'you'), ('b', 'how')]

print dic.iteritems()   #<dictionary-itemiterator object at 0x020E9A50>

深究:iteritor是迭代器的意思,一次反悔一个数据项,知道没有为止

 for i in dic.iteritems():
   print i
结果:('a', 'hello')
        ('c', 'you')
        ('b', 'how')

posted on   chamie  阅读(417)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示