列表
什么是列表:
列表是具有顺序的数据容器。又称之为序列。该容器是可以修改的。
列表语法:
1.变量 = [数据1, 数据2, 数据3, 数据4......] #具有数据的列表
2.变量 = list() #空列表
定义:
1.通过[] 定义一个列表或者使用list()内置方法生成;
2.列表中每个数据也被称为元素,每个元素通过,分割;
3.列表中的每个数据都有对应的索引,该索引就是元素在 列表 中的位置编号,索引也可以被称为 下标,该索引从0开 始,依次递增
为什么使用列表:
可以将多个数据值放到同一个列表中方便按照进行管理和操作。
列表添加
列表添加:
1.追加 语法:列表.append(数据)
# 列表追加
num = [85, 86, 87, 88]
num.append(99)
print(num)
2.插入 语法:列表.insert(索引,数据)
# 列表插入
num1 = [10, 11, 12, 13]
# 根据索引插入
num1.insert(1, 14)
print(num1)
3.扩展 语法:列表.extend(列表2)
# 列表扩展
sum = [11, 22, 33, 44]
sum2 = [55, 66, 77]
# 把sum2中的内容添加到sum中
sum.extend(sum2)
print(sum)
列表删除
列表删除:
1.del语句 语法:del 列表[索引]
# 根据索引删除
score = [70, 80, 85, 90]
del score[1]
print(score)
2.删除第一个出现的指定数据 语法:列表.remove(元素)
# 删除出现的第一个指定数据
score = [70, 80, 85, 90]
score.remove(85)
print(score)
3.弹出末尾数据 语法:值 = 列表.pop()
# 弹出最后一个元素
score = [70, 80, 85, 90]
value = score.pop()
print(value)
print(score)
4.弹出指定索引上的数据 语法:值 = 列表.pop(索引)
# 根据索引弹出指定元素
score = [11, 22, 33, 44, 55, 66]
value = score.pop(4)
print(value)
print(score)
5.清空列表 语法:列表.clear()
# 清空列表
score = [11, 22, 33, 44, 55, 66]
score.clear()
print(score)
查询列表
查询列表:
1.查询指定索引范围的数据(切片) 语法:新的列表 = 列表 [起始:结束:步长]
# 根据指定索引范围查询
names = ["张飞", "刘备", "关羽", "大乔", "小乔"]
# 根据索引步长查询
print(names[1:3]) # 包头不包尾
# 查询出索引及后面所有的元素
print(names[1:])
print(names[1:4:2])
2.查询指定索引数据 语法:值 = 列表 [索引]
# 根据列表索引查询
score = [65, 70, 75, 80, 85, 70]
print(score[2])
print(score[5])
3.查询数据第一次出现的索引 语法:索引 = 列表.index(数据)
# 查询元素出第一次的索引
names = ["张飞", "刘备", "关羽", "大乔", "小乔"]
print(names.index("大乔"))
4.查询长度 语法:长度 = len(列表)
# 查询列表长度
names = ["张飞", "刘备", "关羽", "大乔", "小乔"]
print(len(names))
5.查询数据在列表中出现的次数 语法:次数 = 列表.count(数据)
# 查询列表中元素出现的次数
names = ["张飞", "刘备", "关羽", "大乔", "小乔","张飞"]
print(names.count("张飞"))
修改列表元素
修改列表元素:
1.修改列表元素 语法:语法:列表 [索引] = 新的值
# 修改列表元素
names = ["张三", "李四", "王五"]
names[1] = "王麻子"
print(names)
排序
排序:
1.升序排序 语法:列表.sort()
# 列表升序排列
num = [50, 62, 71, 33, 58, 99]
num.sort()
print(num)
2.降序排列 语法:列表.sort(reverse=True)
# 降序排列
num = [50, 62, 71, 33, 58, 99]
num.sort(reverse=True)
print(num)
3.逆序,反转 语法:列表.reverse()
# 逆序,反转
num = [50, 62, 71, 33, 58, 99]
num.reverse()
print(num)
列表遍历
列表遍历:
1.什么是列表遍历:遍历 就是依次 从 列表 中取出 每一个元素,并执⾏相同的操作。
2.while遍历
语法:
索引= 0;
长度 = len(列表)
while 索引 < 长度:
元素 = 列表[索引]
索引+=1
例子:
# while遍历
score = [11, 22, 33, 44, 55]
i = 0 # 索引
length = len(score) # 列表长度
while i < length:
value = score[i]
print(value)
i += 1
3.for遍历
语法:
for 元素 in 列表:
print(元素)
例子:
# for遍历
score = [11, 22, 33, 44, 55]
for value in score:
print(value)
4.while和for区别:
1.for只能够通过从头到尾 依次 从 列表 中取出 每一个元素, 执行效率高。
2.while可以控制索引灵活地从列表中取出元素
5.如何选择:如果依次从头到尾取出每个元素时,请优先选择for。否则使用while或者以后要学习的迭代器。
列表嵌套
列表中的元素(值)也是列表类型的值
1.students = [
["刘备", "关羽", "张飞"],
["貂蝉", "大乔", "小乔"]
]
2.应用场景:
列表 存储相同类型相同语义的数据
通过 迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作
3.注意事项:
列表中可以存储不同类型的数据(不推荐),建议存储相同语义相同类型的数据。
列表索引不能够超出列表中的所在范围,否则无法取出数据。
元组
1.什么是元组:
Python 的元组(Tuple)与列表(List)类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括 号,字典使用大括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
2.元组语法:
变量 = (数据1, 数据2, 数据3, 数据4......)
通过()定义一个元组
列表中每个数据也被称为元素,每个元素通过,分割.
表中的每个数据都有对应的索引,该索引就是元素在 列表 中的位置编号,索引⼜可以被称为 下标,该索引从0开始。
3.元组除了不能修改其他和列表一样
4.元组特殊用法:
a.给多个变量赋值
例子:
info=("张飞","17","男")
name,age,sex=info
print(name,age,sex)
b.定义单个元组:
#方法一:类型转换
b=tuple([10])
#方法二:加逗号
c=(15,)
c.列表元组之间转换:
将列表转换为元组的语法:
list(元组)
将元组转换为列表的语法:
tuple(列表)
应用场景
尽管可以使用 for in 遍历 元组
但是在开发中,更多的应用场景是:
1.函数的 参数 和 返回值,一个函数可以接收 任意多个参数,或者 一次返回多个数据
(有关 函数的参数 和 返回值,在后续 函数高级 给大家介绍)
2.格式字符串,格式化字符串后面的 () 本质上就是一个元组
“%s %d”%(数据1,数据2)
3.将元组的数据赋值给多个变量
4.让列表不可以被修改,以保护数据安全