python 字典

本文深入讲解了Python中字典的基本概念、创建方法、常用操作及其应用场景。包括如何使用键值对进行数据存储与检索,如何利用get方法安全地访问字典元素,以及如何通过keys、values和items方法进行高效遍历。

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

字典

字典key:value 键值对 (无序)
字典是另一种可变容器模型,且可存储任意类型对象
键是唯一的 值不必
键必须是不可变的 如:字符串 数字 元组

字典创建

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'中国'}
print(info['name'])
print(info['address'])

注:列表使用[],元组使用(),字典使用{}.
通过get方式获取不存在的键值,不然会报错
>>> age = info.get('age')
>>> age #'age'键不存在,所以age为None
>>> type(age)
<type 'NoneType'>
>>> age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18
>>> age
使用[]添加或修改元素
dict = {'Name': 'guojiaxu', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8;               # 更新 Age
dict['School'] = "nylg"        # 添加信息

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
删除字典元素
del dict['Name'] # 删除键 'Name'
dict.clear()     # 删除字典
del dict         # 删除字典
字典是支持无限极嵌套的,如下面代码:
citys={
'北京':{
    '朝阳':['国贸','CBD','天阶','我爱我家','链接地产'],
    '海淀':['圆明园','苏州街','中关村','北京大学'],
    '昌平':['沙河','南口','小汤山',],
    '怀柔':['桃花','梅花','大山'],
    '密云':['密云A','密云B','密云C']
},
'河北':{
    '石家庄':['石家庄A','石家庄B','石家庄C','石家庄D','石家庄E'],
    '张家口':['张家口A','张家口B','张家口C'],
    '承德':['承德A','承德B','承德C','承德D']
 }
}

for i in citys['北京']:
    print(i)
输出结果:
        怀柔
        密云
        昌平
        海淀
        朝阳

for i in citys['北京']['海淀']:
    print(i)
输出如下结果:
        圆明园
        苏州街
        中关村
        北京大学

字典遍历

使用keys()获取所有键
dict = {'name':'guo','sex':'boy'}
for key in dict.key():
    print(key)

>>name
>>sex
使用values()获取所有值
dict = {'name':'guo','sex':'boy'}
    for value in dict.values():
        print(value)

>>guo
>>boy
使用items()获取所有键值对
dict = {'name':'guo','sex':'boy'}
for item in dict.items():
    print(item)

>>('name','guo')
>>('sex','boy')
遍历字典的key-value(键值对)
dict = {'name':'guo','sex':'boy'}
    for key,value in dict.items():
        print('key=%s,value=%s'%(key,value))

>>key=name,value=guo
>>key=sex,value=boy

字典操作

使用update()合并字典、会覆盖原有的值。
def mydict01():
    a = {"name":"aaa", "age":20}
    b = {"id":20, "name":"bbb"}
a.update(b)
print(a)
使用del删除具有指定键的元素
def mydict01():
    a = {"name":"aaa", "age":20}
    b = {"id":20, "name":"bbb"}

    # del删除某个删除
    del b["id"]
使用clear清除所有元素
def mydict02():
    # 1. 清空字典方式
    a = {"name":"aaaa"}
    a = {}
    # 2. clear
    a.clear()
使用in判断是否存在(判断的是字典的键)
def mydict03():
    a = {"name": "aaa", "age": 20}
    # keys获得字典中所有键的列表
    print( list(a.keys()) )
    # values获得字典中所有的值的列表
    print(list(a.values()))
    # items返回值和键的列表
    print( list(a.items()) )
    for k, v in a.items():
        print("%s:%s" %(k, v))


    if "name" not in a.keys():
        print("不存在!")
    else:
        print("存在!")
python内置函数
len(item)   计算容器中元素个数
max(item)   返回容器中元素最大值
min(item)   返回容器中元素最小值
del(item)   删除变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值