A13-Python基础之字典

1、定义

字典里的数据是以键值对形式存在,字典数据和数据顺序没有关系。

即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以把不可变或可变的对象作为字典的值。

2、特点:

大括号,数据为键值对,各个键值之间用逗号隔开。

3、语法

创建有数据字典:
示例1:

dict1 = {"name":"Tom","age":"20","gender":"男"}

示例2:

dict2 = dict((("A",1),("B",2),("C",3)))
print(dict3)
{"A":1,"B":2,"C":3}

示例3:

dict3 = dict(B = "我是B",A = "我是A")
{"A":"我是A","B":"我是B"}  #按字母顺序排序

创建空字典:

dict2 = {}
dict3 = dict()

4、字典常见操作->字典是可变类型

4.1 增加:

字典序列[key] = 值

如果key存在则修改这个key对应的值。

如果key不存在则新增此键值对。

4.2 删除:

del()/del:删除字典或者删除字典中指定的键值对,key存在可删,不存在会报错

 dict1 = {"name":"Tom","age":"20","gender":"男"}
 del dict1["name"]
 del(dict1)	

输出:

{"age":"20","gender":"男"}    
报错

clear():清空字典

dict1.clear()

输出:

{}

4.3 修改:

字典序列[key] = 值

如果key存在则修改这个key对应的值。
如果key不存在则新增此键值对。

4.4 查找:

4.4.1 key值查找:

print(dict1["name"])  #Tom

如果当前查找的key存在,则返回对应的值;否则报错

4.4.2 get():

语法:

字典序列.get(key,默认值)

如果当前查找的key不存在则返回第二个参数(默认值)。
如果省略第二个参数,则返回None。

示例:

print(dict1.get("name","ATM"))  #Tom

4.4.3 keys():

print(dict1.keys())  #dict_keys(['name', 'age', 'gender'])

4.4.4 values():

print(dict1.values())  #dict_values(['Tom', '20', '男'])

4.4.5 items():

print(dict1.items())
#dict_items([('name', 'Tom'), ('age', '20'), ('gender', '男')])

4.5 字典的循环遍历:

4.5.1 遍历字典的key:

dict1 = {"name":"Tom","age":"20","gender":"男"}
for key in dict1.keys():
    print(key)
#输出:name age gender

4.5.2 遍历字典的value:

dict1 = {"name":"Tom","age":"20","gender":"男"}
for value in dict1.values():
    print(value)
#输出:Tom 20 男

4.5.3 遍历字典的元素:

dict1 = {"name":"Tom","age":"20","gender":"男"}
for item in dict1.items():
    print(item)
#输出:('name', 'Tom'), ('age', '20'), ('gender', '男')

4.5.4 遍历字典的键值对:

dict1 = {"name":"Tom","age":"20","gender":"男"}
for key,value in dict1.items():
    print(f'{key}={value}')
#输出:name=Tom age=20 gender=男

4.6 检验键值对是否存在 in:

item = {"name":"TOM","age":18}
if "name" in item:
    print("Succeed")  #Succeed

4.7 fromkeys((key1,key2,…),“值”)

创建并返回一个字典。
示例:

dict1 = {}
print(dict1.fromkeys((1,2,3,4),"值"))
#{1: '值', 2: '值', 3: '值', 4: '值'}

4.8 copy()浅拷贝:

赋值是两个引用指向一个内存地址。

copy()是开辟一个新的内存空间。

dict1 = {"name":"TOM","age":18}
dict2 = dict1.copy()
print(dict2)
#输出:{'name': 'TOM', 'age': 18}

4.9 pop(键)弹出返回值并删除键值对:

输入:

dict1 = {"name":"Tom","age":"20","gender":"男"}
print(dict1.pop("name"))
print(dict1)

输出:

Tom
{'age': '20', 'gender': '男'}

4.10 setdefault(“键”,值)增加:

输入:

dict1 = {"name":"Tom","age":"20","gender":"男"}
print(dict1.setdefault("ID",5))
print(dict1)

输出:

5
{'name': 'Tom', 'age': '20', 'gender': '男', 'ID': 5}

欢迎指正错误!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值