第四天-列表中的其他方法,元组,字典及操作方法
一、列表中的其他操作方法
1、查找列表中的指定元素
1.1、查找指定元素在列表中的索引(下标)index
li = [1, 2, 3, 4, 6, 7, 8, 9, 1, 'china']
res = li.index(1)
print(res)
结果: 0
注意:1、如果存在两个及其以上相同的元素,默认返回查找到指定元素的第一个索引(下标)
2、如果指定元素不存在会报错
ValueError: '0' is not in list
1.2、查找指定元素在列表中的个数
li = [1, 2, 3, 4, 6, 7, 8, 9, 1, 'china'] res1 = li.count(1) print(res1)
结果: 2
注意:如果指定元素不存在,返回 0
0
2、修改列表中指定元素的值 ,通过索引获取到列表中的指定元素,对其进行重新赋值
li = [1, 2, 3, 4, 6, 7, 8, 9, 1, 'china'] li[1] = 'word' print(li)
结果: [1, 'word', 3, 4, 6, 7, 8, 9, 1, 'china']
注意:如果索引值超过列表的长度,汇报错
IndexError: list assignment index out of range
3、列表排序 sort (列表排序时,列表中的元素必须全部是数值类型的数据)
3.1、升序排序
li = [1, 2, 3, 4, 6, 7, 8, 9, 1] li.sort() print(li)
结果:
[9, 8, 7, 6, 4, 3, 2, 1, 1]
3.2、降序排序
li = [1, 2, 3, 4, 6, 7, 8, 9, 1] li.sort(reverse=True) print(li)
结果: 2 [1, 1, 2, 3, 4, 6, 7, 8, 9]
4、列表倒序 reverse (将列表倒过来显示,不排序)
li = [1, 2, 3, 4, 6, 7, 8, 9, 1] li.reverse() print(li)
结果:[1, 9, 8, 7, 6, 4, 3, 2, 1]
5、复制列表 copy 复制后新列表的在内存中的地址发生了变化
li = [1, 2, 3, 4, 6, 7, 8, 9, 1]
print(li,'li的内存地址:{}'.format(id(li)))
li1 = li.copy()
print(li1,'li1的内存地址:{}'.format(id(li1)))
结果:[1, 2, 3, 4, 6, 7, 8, 9, 1] li的内存地址:2007828812360
[1, 2, 3, 4, 6, 7, 8, 9, 1] li1的内存地址:2007828812872
二、元组
定义:元组用()表示 关键字是 tuple,元组又称只读列表,与列表不同的是,不能对元组里面的元素进行修改和删除
注:1、当元组中只有一个元素时,建议加上一个逗号,那就不是一个元组
2、元组中的数据类型与列表一样,可以是任意类型的数据
1、元组的方法:
1.1、查找指定元素在列表中的索引(下标)index
tu1 = (1, 2, 3, 4, 6, 7, 8, 9, 1, 'china')
res = tu1.index(1)
print(res)
结果: 0
1.2、切片
tu1 = (1, 2, 3, 4, 6, 7, 8, 9, 1, 'china') res = tu1[0:8:1] print(res)
结果:
(1, 2, 3, 4, 6, 7, 8, 9)
三、数据类型的可变与不可变
定义:数据内容发生改变,数据的在内存中存储的地址发生改变的是不可变数据类型,数据的在内存中存储的地址不发生改变的是可变数据类型(数据的内存地址发生了改变就不是原来的数据了)
不可变的数据类型:字符串、数值、元组
可变的数据类型:列表、字典、集合
四、字典
定义:使用{}来表示字典,字典是由key,value 的键值对形式组成的
字典定义规范:
1.1 、key 不能够重复,因此key只能够是字符串、数值、元组,key尽量是英文
1.2、value可以是任意类型的数据
1、定义字典的方式
1.1、key ,value 形式
info = {'name': '袁晓松', 'age': 18, 'sex': '男'}
1.2、变量名 = value 形式
info = dict(name = '袁晓松',age=18,sex='男')
1.3、dict函数 dict[(),(),()]
data_info = dict([("name",'袁晓松'),('age',18)])
2、字典的方法
2.1、添加元素
2.1.1、添加单个元素(键值对)(添加字典中没有的key)
info = {'name': '袁晓松', 'age': 18, 'sex': '男'} info['salary'] = 10000 print(info)
2.1.2、添加多个元素 update (将一个字典,添加到原字典中)
info = {'name': '袁晓松', 'age': 18, 'sex': '男'} info.update({'job': 'test', 'a': 0}) print(info)
2.2、修改元素
info['name'] = '天下‘
print(info)
2.3、删除元素
2.3.1、删除指定的元素 pop方法,删除对应的键值对,并返回被删除key的value
a = info.pop(’sex‘) print(a) print(info)
2.3.2、删除最后一个元素 popitem: 默认删除的是字典中最后一个键值对,返回被删除的键值对
info = {'name': '袁晓松', 'age': 18, 'sex': '男'} b=info.popitem() print(info)
2.4 、查找元素
2.4.1、通过key查找元素 ,key不存在,报错(Keyerror)
info = {'name': '袁晓松', 'age': 18, 'sex': '男'} res = info['name'] print(res)
2.4.2、通过get(key)查找
info = {'name': '袁晓松', 'age': 18, 'sex': '男'} res1 = info.get('name') print(res1)
2.5、字典的其他方法
2.5.1、keys 获取字典中所有的键,可通过list转换为列表,tuple转换成为元组
2.5.2、values 获取字典中所有的值,可通过list转换为列表,tuple转换成为元组
2.5.3、items:获取字典中所有的键值对
五、关键字:del
1、删除变量
2、删除指定的元素