Python学习笔记(5)

本文介绍了Python字典的遍历方式,包括遍历键和值,以及如何按顺序遍历字典。强调了字典中键值对的无序性,并提供了通过sorted()函数排序键的方法。此外,还探讨了处理重复值的情况,建议使用集合去重。最后,展示了字典在列表和嵌套结构中的应用,包括在列表中存储字典和在字典中嵌套字典,以及如何遍历这些结构。
摘要由CSDN通过智能技术生成

五.字典(续)

⑧可以不用遍历字典中的全部元素,只遍历字典中的键或值都是可行的。

book={
    'front_cover'='black'
    'back_cover'='white'
    }
for cover in book.keys():
    print(cover.title() + "has its color.")

输出:

Front_cover has its color.

Back_cover has its color.

book={
    'front_cover'='black'
    'back_cover'='white'
    }
for color in book.values():
    print("The book has "+color+" color.")

输出:

The book has black color.

The book has white color.

遍历字典时,会默认遍历所有的键。方法keys()返回一个列表,其中包含字典中所有的键。

⑨字典总是明确地记录键和值之间的关联关系,但获取字典元素时,获取顺序是不可测的。要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。如使用函数sorted()。

books={
    'Alala':'fairy_tale'
    'Zozo':'text'
    'DAdada':'fiction'
    'Sisi':'novel'
    }
for book in sorted(books.keys()):
    print(book.title() + "is a good book.")

输出:

Alala is a good book.

DAdada is a good book.

Sisi is a good book.

Zozo is a good book.

⑩当使用values()来遍历值时,最终的列表可能包含大量重复项。因为这种做法提取字典中所有的值,但不考虑值是否重复。为剔除重复项,可使用集合。集合类似于列表,但每个元素都必须是独一无二的。

books={
    'Alala':'fairy_tale'
    'Zozo':'text'
    'DAdada':'fiction'
    'Sisi':'novel'
    'Cucu':'novel'
    }
for book in set(books.values()):
    print(book.title())

输出:

Fairy_tale

Text

Fiction

Novel

通过对包含重复元素的列表调用set(),可让Python找出列表中独一无二的元素,并使用这些元素来创建一个集合。

⑪将一系列字典存储在列表中,将列表作为值存储在字典中都叫嵌套。可以在列表中嵌套字典,在字典中嵌套列表,在字典中嵌套字典。

book_0={'color':black,'name':'Wwww'}
book_1={'color':white,'name':'Zzzz'}
book_2={'color':grey,'name':'Kkkk'}
books=[book_0,book_1,book_2]
for book in books:
    print(book)

输出:

{'color':black,'name':'Wwww'}
{'color':white,'name':'Zzzz'}
{'color':grey,'name':'Kkkk'}

books={
    'name':['Aaa','Bibi','mius'],
    color:'white'
    }
print("Books have white cover are :")
for book_name in books['name']:
    print(book_name)

输出:

Aaa

Bibi

mius

每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。

字典中也可以存储字典:

books={
    'Alala':{'color':'black'
             'stories':6
            }
    'Cucu':{'color':'white'
             'stories':8
            }
    'Zll':{'color':'grey'
             'stories':11
            }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值