python笔记基础--字典(3)

目录

1.字典使用

1.1由类似对象组成的字典

[1.2用get( )访问值](#1.2用get( )访问值)

2.遍历字典

2.1遍历所有键值对items()

2.2遍历字典中键key()

2.3遍历字典中值value()

3.嵌套

3.1字典列表

3.2在字典中存储列表

3.3在字典中存储字典


字典:一系列键值对;可存储的信息量几乎不受限制。

1.字典使用

|----------|----------------------------------------------------------|--------------------------------------------------------------------|
| alien_0 = { 'color':'green' , 'points':5 } || color是green,points是5 |
| 访问字典中的值 | print(alien_0'color') | green |
| 访问字典中的值 | print(alien_0'points') | 5 |
| 访问字典中的值 | new_points = alien_0'points' | |
| 添加键值对 | alien_0'x_position' = 0 alien_0'y_position' = 25 | {'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25} |
| 创建空字典 | alien_0 = { } | {} |
| 修改字典值 | alien_0'color' = 'yellow' | {'color': 'yellow', 'points': 5} |
| 删除键值对del | del alien_0'color' | {'points': 5} |

1.1由类似对象组成的字典

|-----------------------------------------------------------------------------------------|--------------------------------|
| languages = { 'jen':'Python', 'ann':'C', 'sarah':'Java', } ||
| 代码 | 结果 |
| language = languages'ann'.title() print(f"Ann's favourite language is {language}.") | Ann's favourite language is C. |

1.2用get( )访问值

|--------------------------------------------------------------------|-----------|
| alien_0={'color':'yellow', 'speed':5} ||
| 代码 | 结果 |
| print_value = alien_0.get('points','No points') print(print_value) | No points |
| print_value = alien_0.get('color','No color') print(print_value) | yellow |

2.遍历字典

2.1遍历所有键值对items()

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| user_0 = {'username':'ann' , 'first':'enrico'} ||
| 代码 | 结果 |
| for key, value in user_0****.items()**** : print(f"\nkey:{key}") print(f"Value:{value}") | key:username Value:ann key:first Value:enrico |
| languages = { 'jen':'Python', 'ann':'C', 'sarah':'Java', } for name, language in languages****.items()**** : print(f"{name.title()}'s favourite language is {language}.") | Jen's favourite language is Python. Ann's favourite language is C. Sarah's favourite language is Java. |

2.2遍历字典中键key()

|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| language_s = { 'jen':'Python', 'ann':'C', 'sarah':'Java'} |||
| | 代码 | 结果 |
| 遍历所有key值 | for name in language_s.keys(): print(name.title()) | Jen Ann Sarah |
| 遍历部分key值 | friends = 'ann','dylan' for name in language_s.keys(): if name in friends: language = language_sname.title() print(f"{name.title()},you love {language}.") | Ann,you love C. |
| 查看某个key 是否满足 | if 'ann' not in language_s: print("Ann,please take our poll!") else: print("Ann.") | Ann. |
| 按特定顺序遍历 | for name in sorted(language_s.keys()): print(f"{name.title()}") | Ann Jen Sarah |

2.3遍历字典中值value()

|-------------|------------------------------------------------------------------------|----------------------|
| language_s = { 'jen':'Python', 'ann':'C', 'sarah':'Java'} |||
| | 代码 | 结果 |
| 遍历所有 value值 | for language in language_s.values(): print(f"{language.title()}") | Python C Java Python |
| 剔除重复项set() | for language in set(language_s.values()): print(f"{language.title()}") | C Java Python |

3.嵌套

嵌套:将一些列字典存储在列表中,或将列表作为值存储在字典中。

3.1字典列表

|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | 代码 | 结果 |
| 多个字典存储在一个列表中 | alien_0 = {'color':'yellow','speed':5} alien_1 = {'color':'blue','speed':8} alien_2 = {'color':'green','speed':7} aliens = alien_0,alien_1,alien_2 for alien in aliens: print(alien) | {'color': 'yellow', 'speed': 5} {'color': 'blue', 'speed': 8} {'color': 'green', 'speed': 7} |
| 生成range() | aliens=\[\] #创建30个蓝色外星人 for alien_number in range(30): new_aliens = {'color':'blue','points':5,'speed':'slow'} aliens.append(new_aliens) #显示前5个外星人 for alien in aliens:5: print(alien) print("......") #显示创建了多少个外星人 print(f"Total number of aliens:{len(aliens)}") | {'color': 'blue', 'points': 5, 'speed': 'slow'} {'color': 'blue', 'points': 5, 'speed': 'slow'} {'color': 'blue', 'points': 5, 'speed': 'slow'} ...... Total number of aliens:30 |
| 修改前三个外星人 | #修改前三个外星人的值 for alien in aliens:3: if alien'color' == 'blue': alien'color' = 'yellow' alien'points' = 7 alien'speed' = 'medium' #显示前5个外星人 for alien in aliens:5: print(alien) print("......") | {'color': 'yellow', 'points': 7, 'speed': 'medium'} {'color': 'yellow', 'points': 7, 'speed': 'medium'} {'color': 'yellow', 'points': 7, 'speed': 'medium'} {'color': 'blue', 'points': 5, 'speed': 'slow'} {'color': 'blue', 'points': 5, 'speed': 'slow'} ...... |
| 修改前三个外星人 | #修改前三个外星人的值 for alien in aliens:3: if alien'color' == 'blue': alien'color' = 'yellow' alien'points' = 7 alien'speed' = 'medium' elif alien'color' == 'yellow': alien'color' = 'red' alien'points' = 13 alien'speed' = 'fast' #显示前5个外星人 for alien in aliens:5: print(alien) print("......") | {'color': 'yellow', 'points': 7, 'speed': 'medium'} {'color': 'yellow', 'points': 7, 'speed': 'medium'} {'color': 'yellow', 'points': 7, 'speed': 'medium'} {'color': 'blue', 'points': 5, 'speed': 'slow'} {'color': 'blue', 'points': 5, 'speed': 'slow'} ...... |

3.2在字典中存储列表

将列表存储在字典中。

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
| 代码 | 结果 |
| #存储所点披萨的信息 pizza = { 'crust':'thick', 'toppings':'mushrooms','extra cheese', } #概述所有的披萨 print(f"You ordered a {pizza'crust'}-crust pizza " "with the following toppings") for topping in pizza'toppings': print("\t" + topping) | You ordered a ++++thick++++-crust pizza with the following toppings ++++mushrooms++++ ++++extra cheese++++ |
| language_s = { 'jen':'Python', 'ann':'C','python'} for name, languages in language_s.items(): print(f"{name.title()}'s languages are:") for language in languages: print(f"\t{language.title()}") | Jen's languages are: Python Ann's languages are: C Python |

3.3在字典中存储字典

在字典中嵌套字典。

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
| 代码 | 结果 |
| users = { '开心果':{ 'first':'albert', 'last':'einstein', 'location':'princeton' }, '紫罗兰':{ 'first':'marie', 'last':'curie', 'location':'paris' } } for username, user_info in users.items(): print(f"\nUsername:{username}") full_name = f"{user_info'first'} {user_info'last'}" location = user_info'location' print(f"Full name:{full_name}") print(f"Location:{location}") | Username:开心果 Full name:albert einstein Location:princeton Username:紫罗兰 Full name:marie curie Location:paris |

相关推荐
曲幽2 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱12 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵13 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio17 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636718 小时前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
LinXunFeng2 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github