【python基础】元组?列表?你知道是什么吗?
元组与列表
-
列表的应?场景
-
列表的格式
-
列表的常?操作
-
列表的循环遍历
-
列表的嵌套使?
-
元组的应?场景
-
定义元组
-
元组常?操作
列表的应?场景
思考:如果?个班级 100 位学?,每个?的姓名都要存储到变量,应该如何书写程序?声明 100 个变量吗? > 答:列表即可, 列表?次性可以存储多个数据。
列表的格式
li = [1,2,3,4,"张三","李四"]
列表可以?次性存储多个数据,且可以为不同数据类型
列表的常?操作
列表的作?是?次性存储多个数据,程序员可以对这些数据进?的操作有:增、删、改、查。
查找
根据下标查找
name_list = ['张三', '李四', '王五','赵六']
print(name_list[0])
print(name_list[1])
print(name_list[2])
函数
- index():返回指定数据所在位置的下标 。
语法
# 列表序列.index(数据, 开始位置下标, 结束位置下标)
name_list = ['张三', '李四', '王五','赵六']
print(name_list.index('张三', 0, 2))
注意:如果查找的数据不存在则报错。
- count():统计指定数据在当前列表中出现的次数。
name_list = ['张三', '李四', '王五','张三']
print(name_list.count('张三'))
- len():访问列表?度,即列表中数据的个数。
name_list = ['张三', '李四', '王五','赵六']
print(len(name_list))
in 与 not in
in:判断指定数据在某个列表序列,如果在返回 True,否则返回 False
not in:判断指定数据不在某个列表序列,如果不在返回 True,否则返回 False
name_list = ['张三', '李四', '王五','赵六']
name = input('请输?您要搜索的名字:')
if name in name_list:
print(f'您输?的名字是{name}, 名字已经存在')
else:
print(f'您输?的名字是{name}, 名字不存在')
增加
作?:增加指定数据到列表中。
函数
- append():
列表结尾追加数据。
语法
# 列表序列.append(数据)
name_list = ['张三', '李四', '王五','赵六']
name_list.append('阿坤')
print(name_list)
如果 append()追加的数据是?个序列,则追加整个序列到列表
name_list = ['张三', '李四', '王五','赵六']
alist = ["唱","跳","rap","篮球"]
name_list.append(alist)
print(name_list)
# ['张三', '李四', '王五', '赵六', ['唱', '跳', 'rap', '篮球']]
list1 = ["张三","李四","王五"]
print(id(list1))
list1.append("赵六")
print(id(list1))
# 列表是可变的
# 修改之后,内存地址如果不变,那他就是
- extend():
列表结尾追加数据,如果数据是?个序列,则将这个序列的数据逐?添加到列表。
name_list = ['张三', '李四', '王五','赵六']
name_list.extend('阿坤')
print(name_list)
# ['张三', '李四', '王五', '赵六', '阿', '坤']
如果添加一个序列,则会将序列里面每一个元素添加进去
name_list = ['张三', '李四', '王五','赵六']
alist = ["唱","跳","rap","篮球"]
name_list.extend(alist)
print(name_list)
- insert():
指定位置新增数据。
语法
# 列表序列.insert(位置下标, 数据)
name_list = ['张三', '李四', '王五','赵六']
name_list.insert(1, '阿坤')
# 结果:['张三','阿坤', '李四', '王五','赵六']
print(name_list)
删除
删除列表当中的数据
- del
删除整个列表
name_list = ['张三', '李四', '王五','赵六']
del name_list
print(name_list)
删除指定数据(根据索引删除)
name_list = ['张三', '李四', '王五','赵六']
del name_list[1]
print(name_list)
# ['张三', '王五', '赵六']
- pop():
删除指定下标的数据(默认为最后?个),并返回该数据。
name_list = ['张三', '李四', '王五','赵六']
name_list.pop(1)
print(name_list)
# ['张三', '王五', '赵六']
- remove():
移除列表中某个数据的第?个匹配项。
# 列表序列.remove(数据)
name_list = ['张三', '李四', '王五','赵六']
name_list.remove("张三")
print(name_list)
# ['李四', '王五', '赵六']
- clear():
清空列表
name_list = ['张三', '李四', '王五','赵六']
name_list.clear()
print(name_list)
# []
修改
修改指定下标数据
直接修改
name_list = ['张三', '李四', '王五','赵六']
name_list[0] = '阿坤'
print(name_list)
- reverse()
逆置
num_list = [1, 5, 2, 3, 6, 8]
num_list.reverse()
print(num_list)
# [8, 6, 3, 2, 5, 1]
- sort()
排序
语法
reverse 表示排序规则,reverse = True 降序, reverse = False 升序(默认)
# 列表序列.sort(reverse=False)
li = [2,3,5,6,1,4,8]
li.sort(reverse=False)
print(li)
# [1, 2, 3, 4, 5, 6, 8]
li.sort(reverse=True)
print(li)
# [8, 6, 5, 4, 3, 2, 1]
复制
- copy()
复制一个列表
name_list = ['张三', '李四', '王五','赵六']
name_li2 = name_list.copy()
print(name_li2)
# ['张三', '李四', '王五','赵六']
列表的循环遍历
依次打印列表中的各个数据
for 循环
name_list = ['张三', '李四', '王五','赵六']
for i in name_list:
print(i)
while 循环
i = 0
name_list = ['Tom', 'Lily', 'Rose']
while i < len(name_list):
print(name_list[i])
i += 1
列表的嵌套
所谓列表嵌套指的就是?个列表??包含了其他的?列表
# 找到篮球
name_list = [['张三', '李四', '阿坤'], ['唱', '跳', '篮球'], ['甲', '乙', '丙']]
# 第?步:按下标查找到篮球所在的列表
print(name_list[1])
# 第?步:从李四所在的列表??,再按下标找到数据李四
print(name_list[1][2])
元组
思考:如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做?
定义元组
定义元组使??括号,且逗号隔开各个数据,数据可以是不同的数据类型。
# 多个数据元组
t1 = (10, 20, 30)
# 单个数据元组
t2 = (10,)
注意:如果定义的元组只有?个数据,那么这个数据后?也好添加逗号,否则数据类型为唯?的这个数据的数据类型
元组的常?操作
元组数据不?持修改,只?持查找,具体如下
- 根据下标查找
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0])
- index():
查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的 index ?法相同。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.index('aa'))
- count():
统计某个数据在当前元组出现的次数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count('bb'))
- len():
统计元组中数据的个数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1))
元组内的直接数据如果修改则?即报错
但是如果元组??有列表,修改列表??的数据则是?持的。
tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2]) # 访问到列表
# ['aa', 'bb', 'cc']
tuple2[2][0] = 'aaaaa'
print(tuple2)
# (10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
在这里给大家分享一些免费的课程供大家学习,下面是课程里面的截图,点击蓝色的字体也可以进行跳转哦~添加链接描述
1.Python所有方向的学习路线
2.学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、学习资料
四、实战资料
实践是检验真理的唯一标准。这里的压缩包可以让你再闲暇之余帮你提升你的个人能力。
五、视频课程
好啦今天的分享就到这里结束了,快乐的时光总是短暂呢,想学习更多课程的小伙伴不要着急,有更多惊喜哦~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!