列表
列表的特点:有序,可重复,长度可变(增删改查),异构,可切片,可遍历。
列表的基本语法:列表名=[元素]
list = ['apple', 'banana', 'pineapple']
列表的作⽤是⼀次性存储多个数据,并且列表可以存储不同类型的数据
一:列表的增删改查:
增加:
append():增加指定数据到列表中
names = ['1', '2', '3']
# 在列表的尾部追加⼀个元素"4"
names.append('4')
# 打印列表
print(names)
extend():列表结尾追加数据,如果数据是⼀个序列, 则将这个序列的数据逐⼀添加到列表
list1 = ['1', '2', '3'] # extend⽅法增加
list2 = ['4', '5']
list1.extend(list2)
print(list1)
insert():指定位置新增数据
list1 = ['1', '2', '3']
list1.insert(1,'100')
print(list1)
删除:
pop():删除指定下标的数据(默认为最后⼀个),并返回该数据
list = ['1', '2', '3']
my_list = list.pop(1)
print(list)
print(my_list)
remove():移除列表中某个数据的第⼀个匹配项。
list = ['1', '2', '3']
list.remove('1')
print(list)
clear(): 清空列表
list=['1','2','3']
print(list)
list.clear()
print(list)
查找:
in 或者not in
index():指定数据所在位置的下标
list=[1,2,3,4,5,6,7,8,9]
list2=[1,2,3]
print(list.index("123"))
count():统计指定数据在当前列表中出现的次数
list=[1,2,3,4,5,6,7,8,9]
list2=[1,2,3]
print(list.count(9))
修改:
列表[索引] = 修改的值
list[0]=100
sort():对列表序列进⾏排序
list3 = [3, 1, 4, 1, 5, 9, 2, 6]
list3.sort()
print(list3)
reverse():将数据序列进⾏倒叙排列
list3 = [3, 1, 4, 1, 5, 9, 2, 6]
list3.reverse()
print(list3)
二:列表的切片:
列表的切片与字符串的切片相同
基本语法:列表名[开始索引,结束索引,步长]
参数说明:
start
:表示切片的起始位置索引。如果省略该参数,则默认从字符串的开头开始切片,即start=0
。如果start
为负数,则从字符串末尾开始计数,例如-1
表示最后一个字符,-2
表示倒数第二个字符,以此类推。
stop
:表示切片的结束位置索引,但切片操作不包括该索引对应的字符。如果省略该参数,则默认切片到字符串的末尾。同样,如果stop
为负数,也是从字符串末尾开始计数。
step
:表示切片的步长,即每隔step
个字符取一个字符。默认值为1
,表示连续取字符。如果step
为负数,则表示从右向左切片,即逆序取字符。
索引规则:
正向索引:从字符串的开头开始,从 0 开始计数,即第一个字符的索引是 0,第二个字符的索引是 1,以此类推。
反向索引:从字符串的末尾开始,从 - 1 开始计数,即最后一个字符的索引是 - 1,倒数第二个字符的索引是 - 2,以此类推。
list=[1,2,3,4,5,6,7,8,9]
print(list[1:4:1])
三:列表的遍历循环
用for循环将列表遍历打印输出
while循环:
list1 = ['1', '2', '3']
i = 0
while i < len(list1):
print(list1[i])
i += 1
for循环:
list1 = ['1', '2', '3']
for i in list1:
print(i)
列表的可以将元组等强制转化成列表 list()
str_seq = "hello"
str_list = list(str_seq) # ['h', 'e', 'l', 'l', 'o']
set_obj = {1, 2, 3}
list_obj = list(set_obj) # [1, 2, 3]
列表的嵌套:
列表的嵌套:列表中⼜有⼀个列表,我们把这种情况就称之为列表嵌套
应⽤场景:要存储班级⼀、⼆、三 ,三个班级学⽣姓名,且每个班级的学⽣姓名在⼀个列表。classes = ['第⼀个班级','第⼆个班级','第三个班级']
# ⼀班:['张三', '李四']
# ⼆班:['王五', '赵六']
# 三班:['⽥七', '钱⼋']
# 把班级和学员信息合并在⼀起,组成⼀个嵌套列表
students = [['张三', '李四'],['王五', '赵六'],['⽥七', '钱⼋']]
students[0] == ['张三', '李四']
students[0][1]
# 访问李四
print(students[0][1])
# 嵌套列表进⾏遍历,获取每个班级的学员信息
for i in students:
print(i)
列表推导式!
推导式comprehensions(⼜称解析式),是Python的⼀种独有特性。推导式是可以从⼀个数据序列构建 另⼀个新的数据序列(⼀个有规律的列表或控制⼀个有规律列表)的结构体。 共有三种推导: 列表推导式 、 集合推导式 、 字典推导式 。 基本语法: 变量名 = [表达式 for 变量 in 列表] 变量名 = [表达式 for 变量 in 列表 if 条件] 变量名 = [表达式 for 变量 in 列表 for 变量 in 列表]下面是列表推导式的案例
list = [x**2 for x in range(1,5)]
print(list)
list = [x for x in range(1,100) if x%2==0 and x%3==0]
print(list)
list = [x for x in range(1,100) if x%2==0 if x%3==0]
print(list)
输出结果为:
案例:定义0-9之间的列表# 基本推导
list1 = []
for i in range(10):
list1.append(i)
print(list1)
# 列表推导式
list1 = [i for i in range(10)]
print(list1)
执⾏原理:[i for i in range(10)]
列表推导式先运⾏表达式右边的内容:
当第⼀次遍历时:i = 0,其得到变量i的结果后,会放⼊最左侧的变量i中,这个时候列表中就是[0]
当第⼆次遍历时:i = 1,其得到变量i的结果后,会追加最左侧的变量i中,这个时候列表中就是[0, 1]
...
当最后⼀次遍历时:i = 9,其得到变量i的结果后,会追加最左侧的变量i中,这个时候列表中就是[0,
1, 2, 3, 4, 5, 6, 7, 8, 9]
OK列表就讲到这里啦!
标签:推导,Python,list1,list,列表,索引,详解,print
From: https://blog.csdn.net/2301_78209919/article/details/144638214