day_7_列表
1.什么是列表(list)
列表是python提供的容器型数据类型(序列),可变、有序
可变(元素的个数,值和顺序可变) - 支持增删改查
有序 - 支持下标操作
2.列表数据:[元素1, 元素2, 元素3,...]
元素:可以是任何类型的数据(值、赋值后的变量、除了赋值符意外的其他运算表达式)
不同的元素的类型可以不一样
list_1 = [10, 10.01, True, 'abc']
list_2 = [num, num * 10 + 2, 'abc'.cout('a')]
3.列表元素的操作
3.1 查 -> 获取列表中的元素
1)获取单个元素
语法:列表[下标] -> 获取列表中指定下标对应的元素(返回值就是对应的元素)
注意:下标不能越界
names = ['alex', 'john']
print(names[0]) # alex
print(names[-1]) # john
2)获取部分元素(切片) ->结果是列表
语法 列表[开始下标:结束下标:步长] ;步长为空默认为1;判断取值方向先看步长,开始下标和结束下标为空时,先看步长正负确定方向,判断端值
names = ['alex', 'john', 'a', 'b']
print(name[1:-1])
3)遍历
语法: for 变量 in 列表:
循环体
变量直接取到的是列表中的每个元素
直接遍历元素
names = ['alex', 'john', 'a', 'b']
for name in names:
print(name)
遍历下标
names = ['alex', 'john', 'a', 'b']
for index in len(names):
print(names[index])
isinstance()函数
isinstance(数据, 类型) -> 判断指定的数据是否是指定的类型
# 练习:统计一个列表中整形元素的个数
# 方法1:
list_1 = [23, 78.2, 'asgs', [12, 3], 290]
count = 0
for i in list_1:
if type(i) == int:
count += 1
print(count)
# 方法2:
list_1 = [23, 78.2, 'asgs', [12, 3], 290]
count = 0
for i in list_1:
if isinstance(i, int):
count += 1
print(count)
结果
2
3.2 增 -> 添加元素
list.append(元素) 在列表末尾添加一个元素(修改原列表不会产生新列表)
film_names = ['复联1', '指环王', '绿皮书', '你的名字', '千与千寻']
film_names.append('肖申克的救赎')
print(film_names) #['复联1', '指环王', '绿皮书', '你的名字', '千与千寻', '肖申克的救赎']
list.insert(下标, 元素) -> 列表中指定下标前添加指定元素
film_names = ['复联1', '指环王', '绿皮书', '你的名字', '千与千寻']
film_names.insert(2, '肖申克的救赎')
print(film_names) #['复联1', '指环王', '肖申克的救赎', '绿皮书', '你的名字', '千与千寻']