Python基础-14-字典

python 字典

字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分割的,以大括号{ }包围的序列

由于字典无序,所以我们定义字典和字典生成之后的元素的顺序是不同的;

 

python字典的特点:

因为字典是无序的,所以字典没有索引值;

因为字典没有索引值,所以字典以键取值,字典的键唯一且不可修改(字典的键相当于列表的索引)

 

定义字典

(1)定义一个字典

     eg:infor = {“name”:“suner”,”age”:25}

(2)添加键值对

     eg:infor[“addr”] = “无锡”

(3)Key不存在修改字典相当于添加

     eg:infor[“school”] = “XX大学”

(4)key存在修改字典

     eg:infor[“school”] = “XXX大学”

(5)key存在删除字典

     eg:del infor[“school”]

(6)key不存在删除字典会报异常

(7)字典查询

     eg:infor[“name”]  # 查询没有会报错

     eg:infor.get(“name”)   # 用get查询没有会返回None,不会报错

 

python字典常见操作

字典的取值

① keys:返回一个包含字典所有key的列表

② values:返回一个包含字典所有vaule的列表

③ get:以键取值,如果指定键不存在,默认返回None,可以指定返回内容

④setdefault:设置默认,如果键存在,返回值,如果键不存在,创造键,值默认为None,值也可以自定义

(setdefault(key,default=None))

user_info = {"name":"suner","age":"20","addr":"wuxi"}
print("键存在:", user_info.setdefault("name"))  # 执行结果:suner
print("键不存在默认返回None:", user_info.setdefault("school")) # 执行结果:None
print(user_info)  # 执行结果:{'name': 'suner', 'age': '20', 'addr': 'wuxi', 'school': None}
print("键不存在指定值:", user_info.setdefault("sex","male"))  # 执行结果:male
print(user_info)  # 执行结果:{'name': 'suner', 'age': '20', 'addr': 'wuxi', 'school': None, 'sex': 'male'}

⑤ update:以字典格式更新指定键的内容,如果键不存在,创建键和值

⑥ items:返回字典键值呈元组形式的格式

⑦len:测量字典,键值对的个数(整体)

user_info = {"name":"suner","age":"20","addr":"wuxi"}
for key in user_info.keys():
    print("key:",key)  # 执行结果:name age addr

for value in user_info.values():
    print("value:",value)  # 执行结果:suner 20 wuxi

print("key存在取值:",user_info.get("name"))  # 执行结果:suner
print("key不存在取值:",user_info.get("school"))  # 执行结果:None

user_info.update({"age":25})  # 相当于user_info["age"] = 25
print("key存在更新:",user_info) # 执行结果:{'name': 'suner', 'age': 25, 'addr': 'wuxi'}

user_info.update({"school":"xx大学"})  # 相当于user_info["school"] = "xx大学"
print("key不存在创建:",user_info) # 执行结果:{'name': 'suner', 'age': 25, 'addr': 'wuxi', 'school': 'xx大学'}
print("key存在取值:",user_info.get("school")) # 执行结果:xx大学

for k,v in user_info.items():
    print("键是:{},值是:{}".format(k,v))

print("字典长度:",len(user_info))  # 执行结果:4

 

字典的删除

① pop:弹出,返回并删除指定键对应的值

② popitem:随机弹出一个键值元组,这里随机的原因是因为字典无序

③ clear:清空字典

user_info = {"name":"suner","age":"20","addr":"wuxi","school":"xx大学"}
user_info.pop("addr")
print("删除后的字典显示:",user_info) # 执行结果:{'name': 'suner', 'age': '20', 'school': 'xx大学'}

user_info.popitem()
print("随机删除后的字典显示:",user_info) # 执行结果:{'name': 'suner', 'age': '20'}

 

字典的判断

① in:判断指定的键是否在字典当中

user_info = {"name":"suner","age":"20","addr":"wuxi","school":"xx大学"}
true_result = "name" in user_info
false_result = "weight" in user_info
print("结果是:",true_result)  # 执行结果:True
print("结果是:",false_result)  # 执行结果:False

字典的遍历

① 通过for ...in ...:通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值