Python基础教程——2.6 一文掌握python字典


字典是另一种可变容器模型,且可存储任意类型对象。

一、什么是字典

字典和列表一样,也能够存储多个数据,是一种数据结构
字典是一个无序的数据集合,每个元素由2部分组成,键:值
字典的每个键值对用冒号 : 分割,每个对之间用逗号 ,分隔
整个字典包括在花括号 {} 中 ,格式如下:

info = {'name':'老王', 'num':"007", 'gender':'男', 'address':'赛博坦星球'}

print(info['name'])
print(info['address'])

# 输出结果
老王
赛博坦星球

字典不支持索引和切片,通过key值查询values值,key值唯一

二、字典创建的几种方式

1、创建空字典

new_dict= {}
print(new_dict)

# 输出结果
{}

2、直接赋值创建

dic = {'name':'张三', 'gender':'男', 'address':'赛博坦星球'}
print(dic)

#输出结果
{'name': '张三', 'gender': '男', 'address': '赛博坦星球'}

3、通过关键字dict和关键字参数创建

dic = dict(name= '张三', gender= '男', address='赛博坦星球')
print(dic)

# 输出结果
{'name': '张三', 'gender': '男', 'address': '赛博坦星球'}

4、通过二元组列表创建

list = [('name', '张三'), ('gender', '男'), ('address', '赛博坦星球')]
dic = dict(list)
print(dic)

# 输出结果
{'name': '张三', 'gender': '男', 'address': '赛博坦星球'}

5、dict和zip结合创建

dic = dict(zip('abc', [1, 2, 3]))
print(dic)

# 输出结果
{'a': 1, 'c': 3, 'b': 2}

6、通过字典推导式创建

dic = {i:2*i for i in range(3)}
print(dic)

# 输出结果
{0: 0, 1: 2, 2: 4}

7、通过dict.fromkeys()创建

通常用来初始化字典, 设置value的默认值
dic = dict.fromkeys(range(3), 'x')
print(dic)

# 输出结果
{0: 'x', 1: 'x', 2: 'x'}

8、其他

list = ['x', 1, 'y', 2, 'z', 3]
dic = dict(zip(list[::2], list[1::2]))
print(dic)

# 输出结果
{'y': 2, 'x': 1, 'z': 3}

三、字典的常见操作

1、------增-----

如果要为字典添加 key-value 对,只需为不存在的 key 赋值即可:

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球'}
info['id_num'] = "007"
print(info)

# 输出结果
{'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}

2、------删------

对字典进行删除操作时,一般有以下几种方法
del()删除指定的元素

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
del info["id_num"]
print(info)

# 输出结果
{'name': '张三', 'gender': '男', 'address': '赛博坦星球'}

clear() |删除字典内所有元素

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
info.clear()
print(info)

# 输出结果
{}

3、-----改-----

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
info['id_num'] = "001"
print(info)

# 输出结果
{'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '001'}

4、-----查-----

在python的字典中,有两种查询数据的方式。通过key值和get()

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
print(info["name"])
print(info.get("name"))

# 输出结果
张三
张三

输出结果是一样的,两者的区别在于
直接使用key获取时,如果key值不存在会报错;而get()方法会返回空,不会抛出异常

四、字典的常用内置函数

函数描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys(seq[, val])创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
dict.has_key(key)如果键在字典dict里返回true,否则返回false
dict.items()以列表返回可遍历的(键, 值) 元组数组
dict.keys()以列表返回一个字典所有的键
dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()以列表返回字典中的所有值
pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()返回并删除字典中的最后一对键和值。

五、字典的遍历

1遍历字典的key(键)

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
for key in info.keys():
    print(key)

# 输出结果
name
gender
address
id_num

2遍历字典的value(值)

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
for key in info.values():
    print(key)

# 输出结果
张三
男
赛博坦星球
007

3遍历字典的项(元素)

info = {'name': '张三', 'gender': '男', 'address': '赛博坦星球', 'id_num': '007'}
for key in info.items():
    print(key)

# 输出结果
('name', '张三')
('gender', '男')
('address', '赛博坦星球')
('id_num', '007')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值