python中的元组和字典(3)
1.元组
列表和元组的区别:列表是可变的,元组是不可变的。列表的可变指的是列表可以增加和删除元素;
元组的不可变指的是不可以增加新的元素,也不可以删除已有的元素
需求:查看元素1的个数
查看元素2的索引
元组里面的元素可以是字符串,也可以是数字,也可以是元组自己,也可以是列表。
例如:tuple2=(1,2,“a",2,['go','python'],(4,5,6))
获取元组里面的元素
需求:输出“Go” / 输出5
注意,当元组里面只有一个元素的时候,一定要加逗号
不加逗号输出的是字符串
需求:当查找到"Go"时,输出“学习Go语言”
enumerate:获取到被循环对象的索引信息,一般与for循环联合起来使用
2.字典
2.1字典的特性:
1)字典是无序的
2)字典是Key-value的形式来存储的
字典的关键字是dict
for example:dict1={"name":"lm","age":18,"city":"xian"}
2.2.获取字典的key值,value值,和key-value值
2.3获取value的值
获取value值有2种方法:
2.4字典的合并update()
2.5实现字典的有序
字典是无序的,排序规则:
1)如果是数字,默认是从小到大
2)如果是字符串,内部处理的思路是把字符串转为数字,然后和1的规则一样
3)如果是多个字符串,比如aa,ab,那么这个时候它的规则是: A、aa和ab先比较第一个字符串,发现第一个相同,就比较第二个 B、比较第二个,比如是字符串转为数字,规则与1相同
4)把字符串转为数字,使用的内部函数是ord()
2.5.1字典排序使用到的内部函数是sorted()
print(dict(sorted(dict1.items(),key=lambda item:item[0])))
解释:
1.dict1.items()实现了把字典循环输出key和value
2.把循环出的key和value分别放到一个新的列表中,第一位是key,第二位是value
3.根据key参数后的lambda后的item[0]来进行排序,也就是说按照key来进行排序
4.把字符串转为数字,使用的内部函数是ord()
5.排序比较必须是相同的数据类型(将18改为'18')
2.5.2实现字典的有序第二种方法
from collections import OrderedDict
是指从collections中导入 OrderedDict类
2.3字典中的取值
dict1={"status":0,"msg":"ok","datas": [{"company":"华为","职位":"测试开发工程师"}, {"company":"腾讯云","职位":"Go开发工程师"}, {"company":"易点天下","职位":"Java开发工程师"}]}
要求:输出”易点天下“和”Go开发工程师“
#获取到所有的公司,放在一个新的列表里面
要求输出#["华为","腾讯云","易点天下"]
#["测试开发工程师","Go开发工程师","Java开发工程师"]
解释:新建一个空的列表list1
for item in dict1['datas']:函数以列表返回可遍历的键值
list1.append(item[‘company'] 将company放进列表list1中
3.数据类型实战
3.1字符串与列表的转换
字符串转列表就是将字符串进行拆分;列表转字符串就是将列表合并
3.6数据处理
需求:输出所有的城市名
代码解释:list1=[] 代表新建一个列表,
for item in data['zpData']: 代表将zpData进行循环