time :5-02
列表(数组)
第一种建表输出:
a=['he','xd','90'] for i in range(3): print(a[i],'',end='')
输出结果:he xd 90
第二种:
a=list(['he','xd','90'])
获取列表的索引(数组的下标)
正向索引:0 1 2 3 .... n-1
逆向索引:-n -n+1 .... -1
格式:变量.index(列表元素)
a=['he','xd','90'] print(a.index('he'))
输出结果:0
在范围之内进行寻找:
a=['he','xd','90'] print(a.index('he',开始下标,结束下标))
time :5-03
切片索引
打印切片范围之内的元素(带括号)
a=['1','2','3','4','6'] print(a[起始下标:结束下标:步长])
当步长为负数时,从起始下标开始逆序输出。
a=['1','2','3','4','6'] print(a[::-1])
输出结果:['6', '4', '3', '2', '1']
time :5-06
判断某个元素是否在列表中:
print('p' in 'pyhton')
返回 Ture
列表的操作
1, append() 在列表最后面加入一个元素,一个列表也可做为一个元素添加进去
lis=[10,20,30,40] lis2=['hello','world'] lis.append(100) lis.append(lis2) print(lis)
结果:[10, 20, 30, 40, 100, ['hello', 'world']]
2, extend() 直接添加,即使是列表也是分别添加
lis=[10,20,30,40] lis2=['hello','world'] lis.append(100) lis.extend(lis2) print(lis)
结果:[10, 20, 30, 40, 100, 'hello', 'world']
3, insert(位置,元素) 在列表任意位置添加元素,在该位置添加元素后,原位置元素后移
lis=[10,20,30,40] lis.insert(2,100) print(lis)
结果:[10, 20, 100, 30, 40]
time :5-07
切片操作
(1)在列表任意位插入新的元素或列表,把插入位置后面的元素覆盖删除替换
lis=[10,20,30,40] lis2=['python','study'] lis[1:]=lis2#lis[起始下表:末尾下标] print(lis)
输出结果:[10, 'python', 'study']
(2)保留指定区间内的元素,使之组成新的列表
lis=[10,20,30,40,50] lis_new=lis[1:3] print(lis_new)
输出结果:[20, 30]、
(3)删除不产生新列表的操作,可理解为区间元素用空列表替换,即完成删除操作
lis=[10,20,30,40,50] lis[1:3]=[] print(lis)
输出结果:[10, 40, 50]
列表元素的删除
1, remove() 一次删除一个元素,重复元素只删除第一个。
lis=[10,20,30,40,50,30] lis.remove(30) print(lis)
输出结果:[10, 20, 40, 50, 30]
2, pop() 根据索引(下标)移除元素,若不指定参数,将删除最后一个元素
lis=[10,20,30,40,50,30] lis.pop(1)#下标 lis.pop() print(lis)
输出结果:[10, 30, 40, 50]
3, clear() 清除列表所有元素使之为空表;del 删除列表
time :5-08
列表元素的修改
(1)可以看成覆盖操作
(2)相似的切片操作(覆盖)
lis=[10,20,30,40,50,30] lis[1]=200#lis[1:2]=[200] print(lis)
输出结果:[10, 200, 30, 40, 50, 30]
列表元素的排序
(1) sort() 调用函数,从小到大排序,或指定操作 reverse=True 进行升序排列;指定操作 reverse=True 可进行降序排列。
lis=[20,50,5,60,40,100] lis2=[20,50,5,60,40,100] lis.sort() lis2.sort(reverse=True) print(lis) print(lis2)
输出结果:[5, 20, 40, 50, 60, 100] [100, 60, 50, 40, 20, 5]
(2) sorted() 内置函数排序会产生新列表
lis=[20,50,5,60,40,100] lis_new=sorted(lis) lis_new2=sorted(lis,reverse=True) print(lis_new) print(lis_new2)
结果同上。
列表生成式
lis=[i for i in range(1,10)]#第一个'i'为真正的列表元素 print(lis) lis2=[i*2 for i in range(1,10)] print(lis2)
输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 4, 6, 8, 10, 12, 14, 16, 18]
字典
概念:
比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如图所示,即一一对应:(个人认为类似于结构体)
由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。
创建:
基本格式:
lis={'key_name 1':value1,'key_name 2':value2}#第一种创建方式 print(lis) lis2=dict{ key_name1=value1, key_name2=value2}#第二种内建函数 print(lis2)
其中,value的类型是多样的,可为整型和字符串型等。