一、list(列表)
1.列表是python中的容器类型。有序的,可变的容器。(可变指的是列表中的元素和元素的位置、个数可变)
格式:列表名 = [元素1,元素2,...];注意:空列表为[];
有序:可以通过下标来获取元素;
可变:可以进行增删改(查)
2.元素:指的是列表中的每一个内容。列表中的元素可以是任意类型的数据。
3.将其他的数据类型转换成列表(只有序列才能转换成列表:字符串、range()、元祖、字典、集合、生成式和迭代器)
chars = list('abcdefg')
print(chars)
numbers = list(range(10))
print(numbers)
二、列表的增删改查操作
1、查:获取列表元素
a.获取单个元素:列表[下标]
下标范围:0~(元素个数-1) 或者-1~(-元素个数);
注意:下标不能越界
b.获取部分元素(切片):列表[下标1:下标2:步进]
从下标1开始获取下标2前为止(注意:下标2对应的值是取不到的)
步进值是正的就从前往后取,步进是负的就从后往前取;
注意:结果还是列表
c.遍历(一个一个的获取每个元素)
格式:for x in 列表:
2、改
格式:列表名[下标] = 新值(通过下标获取元素,然后重新赋值)
3、增(增加列表的元素,添加元素)
注意:增加了列表元素后,列表会重新分配下标。
a).列表.append(元素)
b).列表.insert(下标,元素):在指定的下标前插入一个元素
4、删除列表中元素
a).del 列表[下标]:根据下标删除列表中的元素
del语句是python中删除数据的语法,它可以删除任何内容:del 变量(删除变量);del 列表(删除列表)
b).列表.remove(元素):删除列表中的某个值
注意:如果这个元素在列表中有多个,只会删除最前面的一个。
c).列表.pop(下标):将列表中指定下标对应的元素取出来
练习:
#练习:将一个保存成绩的列表中,将成绩低于60的全部删除
#[78,59,40,90,89,45,69,30]
scores = [78, 59, 40, 90, 89, 45, 69, 30]
for x in scores[:]:
if x < 60:
scores.remove(x)
print(scores)
#注意:以后遍历列表的元素时,我们一般遍历他的拷贝值。([:])
三、列表中的数据存储方式
在python中,数据的存储会根据数据类型的不同,来使用不同的方式存值;
值类型:变量存数据是直接存值。
引用类型:变量存数据时,存的是数据在内存中的地址。
四、列表的相关运算
1、+操作:
格式:列表1+列表2:将列表1中的元素和列表2中的元素依次合并。产生一个新的列表;
2、*操作
格式:列表1*N:将列表1中元素重复n次,产生一个新的列表;
3、in 和not in
元素 in 列表:判断一个元素是否在列表中
4、求列表的长度
格式:len(序列)
5、相关方法
1)、列表.count(元素):统计指定元素在指定列表中出现的次数
2)、列表.extend(序列):将序列中的元素添加到列表中
3)、列表.index(元素):获取指定元素对应的第一个下标
4)、列表.pop():将列表中的最后一个元素从列表中取出来。
5)、列表.reverse()反序
6)、列表.sort:对列表元素进行排序;,默认是升序;列表.sort(reverse = True)进行降序排序
7)、列表.clear():将列表中元素全部清除
8)、列表.copy():将列表中的元素全部拷贝,产生一个新的列表;
注意:这个拷贝是浅拷贝
浅拷贝和深拷贝:
浅拷贝:只是单纯的将值拷贝,(如果是对象就直接拷贝对象的地址)
深拷贝:会拷贝对象的地址所对应的值,产生一个新的地址,然后将新的地址进行赋值;
五、元祖(Tuple)
1、元祖:就是不可变的列表,列表中除了和可变相关的内容之外,其他的全部适用于元祖。因此,元祖不支持增删改的操作。
格式:
元祖名 = (元素1,元素2,...)
注意:如果元祖的元素个数为1,需要在元素后面加逗号;
t2 = (100,)#表示元祖只有一个元素
t3 = ()#表示元祖为空
2、元祖的查操作(与列表一样)
格式:列表[下标]
3、特殊操作
point = (100,200,'red')
print(point[0], point[1])
#通过两个变量来获取元祖;
x,y,color = point
print(x,y)
user = ('小吕', 90, 97, 60, '男')
name,*score,sex =user #在变量名前加*,可以获取元祖、列表中的一部分值,结果是一个列表。
print(name,score,sex,)
#多个值之间用逗号隔开,对应的数据也是元祖。
a = 1,2,3,4 #相当于a = (1,2,3,4)
print(a, type(a))
x,y = 100,200 #相当于x,y=(100,200)
print(x,y)
结果: