python--字典,解包

简介: python--字典,解包

解包


解包也叫解构

a, b, c = ("马化腾", "马云", "马良")
print(b)

结果:

马云
a, b = [1, 2]
print(a)
print(b)

结果:

1
2


字典


  • 字典的key必须是可哈希的. 不可变的, value 没有限制
  • 不是按照我们保存的顺序保存的, 无序的
  • python3.6之后的字典是有序的
info = {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
print(info)  # {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
print(info['stu1102'])  # 查   jack
print(info.get('stu1104'))  # 字典中没有的显示None,第二个参数是设置返回的值 None
info['stu1101'] = 'zouzou'  # 改  如果key重复了. 会替换掉原来的value
print(info)
info['stu1104'] = 'Lihua'  # 增
print(info)
info.pop('stu1102')  # 删
print(info)
del info  # 删除字典

结果:

{'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
jack
None
{'stu1101': 'zouzou', 'stu1102': 'jack', 'stu1103': 'zou'}
{'stu1101': 'zouzou', 'stu1102': 'jack', 'stu1103': 'zou', 'stu1104': 'Lihua'}
{'stu1101': 'zouzou', 'stu1103': 'zou', 'stu1104': 'Lihua'}
dic = {"牌牌": "你去哪里了", "晓雪": "你快回来.", "雪雪": "又走了"}
ret = dic.pop("晓雪")  # 删除一个元素.返回这个元素的value值
print(ret)

结果:

你快回来.
info = {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
print(info)
b = {'stu1102': 'time', 1: 3, '1108': 'data'}
info.update(b)  # 两个字典合并,有的会覆盖,没有的添加到里面
print(info)
print(info.items())  # 将字典转换为列表

结果:

{'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
{'stu1101': 'marry', 'stu1102': 'time', 'stu1103': 'zou', 1: 3, '1108': 'data'}
dict_items([('stu1101', 'marry'), ('stu1102', 'time'), ('stu1103', 'zou'), (1, 3), ('1108', 'data')])


字典的常用方法


  • keys() 返回所有字典的key的集合(高仿列表)
  • values() 返回所有的value的集合
  • items() 返回键值对. 元组
info = {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
for i in info:  # 直接循环字典.拿到的是key
    #    print(i)  #只打印key值
    print(i, info[i])

结果:

stu1101 marry
stu1102 jack
stu1103 zou
dic = {"及时雨": "宋江", "易大师": "剑圣", "维恩": "暗影猎手"}
print(dic.keys())  # 拿到所有的key, 返回key的集合. 像是列表. 但是不是列表
for key in dic.keys():  # 可以进行迭代循环
    print(key)

结果:

dict_keys(['及时雨', '易大师', '维恩'])
及时雨
易大师
维恩
dic = {"及时雨": "宋江", "易大师": "剑圣", "维恩": "暗影猎手"}
print(dic.values())
for value in dic.values():
    print(value)

结果:

dict_values(['宋江', '剑圣', '暗影猎手'])
宋江
剑圣
暗影猎手
dic = {"及时雨": "宋江", "易大师": "剑圣", "维恩": "暗影猎手"}
print(dic.items())  # 拿到键值对
# 遍历dict
for k, v in dic.items():
    # k,v=item() 解包
    print(k, v)

结果:

dict_items([('及时雨', '宋江'), ('易大师', '剑圣'), ('维恩', '暗影猎手')])
及时雨 宋江
易大师 剑圣
维恩 暗影猎手

相关文章
|
2天前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
2天前
|
Python Windows
Python分发包安装pip3
Python分发包安装pip3
7 0
|
2天前
|
Python
【Python操作基础】——包
【Python操作基础】——包
|
2天前
|
索引 Python
Python中的列表、元组和字典各具特色
【5月更文挑战第11天】Python中的列表、元组和字典各具特色:列表是可变的,元组不可变,字典亦可变;列表和元组有序,字典无序(但在Python 3.7+保持插入顺序);元素类型上,列表和元组元素任意,字典需键不可变;列表用方括号[],元组用圆括号(),字典用大括号{}表示。列表不适合作字典键,元组可以。选择数据结构应依据实际需求。
22 2
|
2天前
|
开发者 Python
【Python 基础】递推式构造字典(dictionary comprehension)
【5月更文挑战第8天】【Python 基础】递推式构造字典(dictionary comprehension)
|
2天前
|
Python
在Python中快捷引入缺失包的技巧和实践
在Python中快捷引入缺失包的技巧和实践
12 0
|
2天前
|
域名解析 JSON API
Python小工具包
【5月更文挑战第2天】构建了一个Python小工具包,包含获取IP、域名解析、JSON格式化和时间戳转换的函数。通过`get_ip_address`和`resolve_domain`实现网络任务,`format_json`用于美化JSON数据,`timestamp_to_datetime`转换时间戳。这些函数可提高开发效率,易于整合到项目中,展现Python的简洁和灵活性。
38 1
Python小工具包
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
2天前
|
Python
Python中字典和集合(二)
Python中字典和集合(二)
|
2天前
|
存储 算法 索引
Python中字典和集合(一)
Python中字典和集合(一)