IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础之字典的创建与遍历 -> 正文阅读

[Python知识库]Python基础之字典的创建与遍历

一、创建字典的方式

1.通过{}来创建字典;
2.通过dict()来创建字典;
3.通过zip来创建字典;
4.通过二维元组列表创建;
5.通过字典推导式创建;
6.通过fromkeys创建值为空的字典;
7.其他

通过{}来创建字典
```python
#创建空字典
a = {} ?
# 直接赋值创建。注意key都要加引号
a = {'name':'张三','age':18,'address':"江苏"}?
```
通过dict()来创建字典
```python
#创建空字典
a = dict()
# 不是key:value形式,key也没有引号,而是key = value
a = dict(name='张三',age=18,address="江苏")
# 键值对在列表中写成元组的形式
a = dict([('name',"张三"),("age",18),("address","江苏")])?
```
通过zip()映射函数来创建字典
```python
# 先写key,再写value,
# key和value都存入列表或元组中,不是字典中
a = ('name','age','address')
b = ['张三',18,"江苏"]
d = dict(zip(a,b)) # zip(b,a)键值对反过来
``` ? ?
通过二维元组列表创建
```python
list = [('spam', 1), ('egg', 2), ('bar', 3)]
dic = dict(list)
print(dic)
{'bar': 3, 'egg': 2, 'spam': 1}
```
通过字典推导式创建
```python
dic = {i:2*i for i in range(3)}
print(dic)
{0: 0, 1: 2, 2: 4}

k = ['key1', 'key2', 'key3']
v = ['value1', "value","value3"]
dic = { i:v[k.index(i)] for i in k } ?#键为i,i in k;值为v,通过i在k中的索引来映射关联取值
print(dic)
{'key1':'value1','key2':'value2','key3':'value3'}
```
通过fromkeys创建值为空的字典
```python
e = dict.fromkeys(['name','age','address'])
print(e)
?{'name': None, 'age': None, 'address': None}
```
其他方式
```python
list = ['x', 1, 'y', 2, 'z', 3]
dic = dict(zip(list[::2], list[1::2])) ?#将列表切片,然后通过映射函数创建
print(dic)
{'y': 2, 'x': 1, 'z': 3}
```
将两个字典合并
```python
k = {'key1':'value1', 'key2':"value2"}
v = {'key3':"value3"}
dic = dict(k,**v)
print(dic)
?{'key1':'value1', 'key2':,value2','key3':'value3'}
```
参考链接:
[1](https://blog.csdn.net/weixin_43574446/article/details/105022010)
[2](https://www.jb51.net/article/157029.htm)
[3](https://blog.csdn.net/GrofChen/article/details/92801181)

二、提取字典的键、值及字典的遍历

1.取出该字典所有的键:?
- key_list = my_dict.keys() 返回的是列表
```python
key_list = my_dict.keys()
print(list(key_list))
```
- 使用内置函数set(), 将其转换为集合数据结构. 集合,其实可以理解为只有键的字典:
```python
item = {"name": "lowman", "age": 27}
data = set(item)
print(data)
```
2.取出该字典所有的值:?
- value_list = my_dict.values() 返回的是列表
```python
my_dict = dict(name="lowman", age=45, money=998, hourse=None)
value_list = my_dict.values()?
print(list(value_list))
```

注意:在python2环境中这两个方法返回的是列表,但是在python3环境下返回的却是迭代器,如果希望通过下标直接取到需要的元素,可以通过list()方法将其先转化为列表,再进行取值.

3.取出字典某个键的值:
- value = my_dict["key"] 这样取值的话如果没有这个键就会抛出异常
4.安全地取出字典某个键的值get():
- value = my_dict.get("key") 这样取值的话如果没有这个键就返回None  
- value = my_dict.get("key", 默认值)也可以自定义一个默认值进行返回

5.遍历字典:
- 遍历字典的键
```python
for item in my_dict:
? ? print(item) ? #取出的是字典的键
for key in my_dict.keys():
? ? ? ?print(key)
```
- 遍历字典的值
```python
for value in my_dict.values():
? ? ? ?print(value)
```
- 使用字典对象的items()
```python
for item in my_dict.items():
  print(item) ?#返回值为可遍历的“键-值对”元组列表
for key, value in my_dict.items():
    print(key,value) ?#直接获取到每个键和值
```
6.删除一个字典的键值对:  
```python
my_dict = {"name":"lowman", "age":12}
del my_dict["name"] ?#这样就把整个键值对给删除掉了
```
参考链接:[](https://www.cnblogs.com/lowmanisbusy/p/9142199.html)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:49:10  更:2021-11-26 08:51:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:53:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码