Python-字典

本文介绍了Python中字典的基本概念,包括字典的创建方式、增删操作、列表转字典、字典的长度计算以及内置的keys(),values(),items()方法。还探讨了字典的更新和setdefault功能。同时提到了元组与字典的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、造字典

# 造字典
# 第一种方式
dic = {'aaa': 1, 2: 2, 3.1: 3, (4, 5, 6): 4}
print(type(dic))
# 第二种方式
print(dict({'a': 1, 'b': 2}))
# 第三种方式
print(dict(a=1, b=2, c=3))

# 把列表中的三个值放入字典中
# 第一种方法
keys =['name','gender','age']
dic ={}
for key in keys:
    dic[key] =None
print(dic)
# 第二种方法
a = {}.fromkeys(keys,None)
print(a)

运行结果:

<class 'dict'>
{'a': 1, 'b': 2}
{'a': 1, 'b': 2, 'c': 3}
{'name': None, 'gender': None, 'age': None}
{'name': None, 'gender': None, 'age': None}

二、对字典增删操作

1、字典是无序的,在操作字典的时候,不存在在中间或者指定位置插入值

2、字典中的key是唯一的,如果出现的重复的key,字典只保留一个

dic ={'a':1,'b':2,'c':3,'c':4}
dic['d'] = 4
print(dic)

运行结果:

{'a': 1, 'b': 2, 'c': 4, 'd': 4}

3、将列表打印为字典格式,列表中元素必须是成对出现,否则,报错

l =[('name','张xx'),['age','190']] # 每个元素必须两个值(成对出现),第一个是元组,第二个是列表
print(dict(l))

运行结果:

{'name': '张xx', 'age': '190'}

4、对字典的操作

# 增加值
dic = {'a': 1, 'b': 2, 'c': 3, 'c': 4}
dic['d'] = 4
print(dic)

# 字典的取值
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.get('a'))
print(dic.get('s'))  # 若字典中无此key,则返回None

# 删除
# 第一种方式
dic = {'a': 1, 'b': 2, 'c': 3}
del dic['a']
print(dic)
# 第二种方式
print(dic.pop('b'))
# 第三种方式
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.popitem())  # 删除最后添加到字典的key和value,并返回其值
# 第四种方式
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.clear())

# 长度
dic = {'a': 1, 'b': 2, 'c': 3}
print(len(dic))  # 统计key ,value 键值的个数

运行结果:

{'a': 1, 'b': 2, 'c': 4, 'd': 4}
1
None
{'b': 2, 'c': 3}
2
('c', 3)
None
3

三、字典的内置方法

dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.keys())
print(dic.values())
print(dic.items())

for key in dic.keys():
    print(key)
print('-' * 10)
for value in dic.values():
    print(value)
print('-' * 10)
for item in dic.items():
    print(item)
print('-' * 10)
for item in dic.items():
    print(item[0], item[1])

msg = ('张', '大', '人')
name1, name2, name3 = msg
print(name1, name3, name2)

运行结果:
dict_keys(['a', 'b', 'c'])
dict_values([1, 2, 3])
dict_items([('a', 1), ('b', 2), ('c', 3)])
a
b
c
----------
1
2
3
----------
('a', 1)
('b', 2)
('c', 3)
----------
a 1
b 2
c 3
张 人 大

补充:

1、updata:更新(覆盖旧的)

2、setdefault:设置默认值

info = {'name': '张', 'age': 79}
print(info.setdefault('age'))
print(info.setdefault('gender'))
print(info)

info = {'name': '张', 'age': 79}
print(info.setdefault('gender', '保密'))
print(info)

运行结果:

79
None
{'name': '张', 'age': 79, 'gender': None}
保密
{'name': '张', 'age': 79, 'gender': '保密'}
 

# 附件:元组是小括号

t = (1, 1.2, 'abc', [4, 5, 6], {'a': 1, 'b': 2}, (7, 8, 9))
print(type(t))
运行结果:<class 'tuple'>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值