7-Python数据类型——列表和元组的详解(增删改查、索引、切片、步长、循环)
创始人
2024-11-14 23:04:15
0

一、列表

1.1 列表 list

有序且可变的容器,可以存放多个不同类型的元素

列表就是专门用来记录多个同种属性的值

列表:存储同一个类别的数据,方便操作

  • 字符串,不可变:即:创建好之后内部就无法修改【内置功能都是新创建一份数据】
name = "xiaochaun" data = name.upper() print(name) print(data) xiaochaun XIAOCHAUN 
  • 列表,可变类型:即:创建好之后内部元素可以修改。

    【功能基本上都是直接操作列表内部,不会创建一份新的数据】

user_list = ['车子','房子'] user_list.append("票子") print(user_list)  ['车子', '房子', '票子'] 

列表的创建

列表名 = [] 例:list01 = [] 

列表的增删改查

li = [2,3,4,6,8,9,10] 

1.1.1 增 ,追加(在原列表中的尾部追加值)

1.append:添加一个数据,添加到列表的最后一位 语法:列表名.append("内容") li.append("小川") print(li)  2.insert:添加一个数据,到指定的位置 语法:列表名.insert(下标位置,内容) li.insert(0,"乃荣") print(li)  3.extend:添加一个序列类型,到最后一位,并且把序列类型拆分 语法:列表名.extend(序列类型) # 会拆分追加进去 li.extend("大力") print(li) # 如果用一个中括号括起来的追加进去就不会拆分 li.extend(['大力']) print(li) 

1.1.2 删

1.pop:删除一个值,默认从最后一个开始删,也可以指定位置 语法: 列表名.pop() 列表名.pop(下标) li.pop(-1) print(li) li.pop() print(li)  2.remove:删除一个指定的值,如有多个,就从第一个开始删 语法:列表名.remove(删除对象) li.remove(3) print(li)  3.clear:清空列表里面的所有数据 语法:列表名.clear() li.clear() print(li)  4.del 全局删除,可以删除一个变量 语法: del 列表名 del 列表名[下标] del li[3] print(li) 

1.1.3 改

1.单个修改:直接通过下标进行修改 语法:列表名[下标] = 内容 li[1] = "张三" print(li)  2.多个修改:通过切片方式进行修改 左闭右开 语法:列表名[起点:终点] = 数据1,数据2... li[1:3] = 70,20 print(li) 

1.1.4 查

1.index:根据内容获取指定数据的下标 语法: 列表名.index(要找的内容) 列表名.index(要找的内容,起点值) print(li.index(8)) print(li.index(8,5))# 搜索值为8的数据,从下标5的位置开始往后搜索,没有就会报错,显示不在列表中  2.count:统计数据出现的次数 语法:列表名.count(要找的内容) print(li.count(70)) 

1.1.5 sort和sorted

排序(全int的列表才可以排序) sort是在原列表上修改 sorted是返回一个新的列表 sort:让列表的内容按照顺序的方式来排列 语法: 列表名.sort()——》升序 列表名.sort(reverse = True)——》降序  li = [2,3,400,68,38,9,10] li.sort() print(li) li.sort(reverse=True) print(li)  [2, 3, 9, 10, 38, 68, 400] [400, 68, 38, 10, 9, 3, 2]  li1 = sorted(li) # 生成了一个新列表 print(li1) 

1.1.6 列表生成式

生成一到十的列表

普通方式: li = [1,2,3,4,5,6,7,8,9,10] print(li)  使用range(1,11) print(list(range(1,11)))  普通的列表生成式 普通的for循环创建列表 li = [] for i in range(1,11):     li.append(i) print(li) 列表生成式生成 print([i for i in range(1,10)]) 

[1x1,2x2,3x3,…9x9]

li = [] for i in range(1,10):     li.append(i*i) print(li) 列表生成式 print([i*i for i in range(1,10)]) 

可以写出非常简洁的代码,但是并不倡导大家平时开发去写这种东西,因为可读性不高,bug不好修改,建议在非常简单的情况下可以选择偷懒用列表生成式,而带if和多重for循环最好不要使用

[1*2,2*3,3*4...9*10] print([i*(i+1) for i in range(1,10)]) 

1.1.7 功能

1.相加,两个元组相加获取生成一个新元组 2.相乘,元组*整形,将元组中的元素再创建n份并生成一个新的元组 3.获取长度 4.索引 5.切片 6.步长,隔多少取值 7.for循环 

2.2 元组 tuple

不可变,只有查询方法,并且跟列表的用法一模一样

如果元素数量是固定的,建议使用元组,因为占用空间更小

元组通常是使用一对小括号将所有的元素包围起来的,但是小括号不是必须的,只要将各元素用逗号隔开就可以,python就会将其视为元组

# 定义一个元组 t = "python","jc" print(t) 

2.2.1 查

1.count() 用于统计某个元素在元组中出现的次数 t = (123,"Google","JD","Taobao",123) print(t.count(123)) print(t.count("JD"))  2 1  2.index():找到数据的下标值 从某个指定下标开始查询某个元素的下标值 t = (123,"Google","JD","Taobao",123) print(t.index(123))  # 0 print(t.index(123,2))  # 4 

2.3.2 功能

1.相加,两个元组相加获取生成一个新元组 data = ("张三","李四")+("王五","赵六") print(data)  # ('张三', '李四', '王五', '赵六')  2.相乘,元组*整形,将元组中的元素再创建n份并生成一个新的元组 data = ("张三","李四")*2 print(data)  3.获取长度 t = ('张三', '李四', '王五') print(len(t))  # 3  4.索引 t = ('张三', '李四', '王五') print(t[0])  5.切片 t = ('张三', '李四', '王五', '赵六') print(t[0:3])  # ('张三', '李四', '王五') print(t[1:])  #('李四', '王五', '赵六') 6.步长,隔多少取值 t = ('张三', '李四', '王五', '赵六','赵本山') print(t[1:4:2])  # ('李四', '赵六') print(t[0::2])  # 从0开始到所有 隔2取 ('张三', '王五', '赵本山')   7.for循环 t = ('张三', '李四', '王五', '赵六','赵本山') for i in t:     print(i)      t = ('张三', '李四', '王五', '赵六','赵本山') for i in t:     if i == '王五':         continue     print(i) 

目前只有str,list,tuple可以被for循环

元组本身不可以改变,但是如果元组中还包含其他可变元素,这些可变元素即可改变

t = (99,88,77,['jc','18'],33) t[3][0] = 'xf' print(t) 

相关内容

热门资讯

透视好友!德普之星辅助软件(透... 透视好友!德普之星辅助软件(透视)app安卓版破解版(果然是真的有挂)1、德普之星辅助软件ai辅助优...
透视数据!wpk透视辅助靠谱吗... 透视数据!wpk透视辅助靠谱吗(透视)插件(都是真的有挂)1、完成wpk透视辅助靠谱吗的残局,帮助玩...
透视科技!wepoker透视脚... 透视科技!wepoker透视脚本免费(透视)辅助器可以弄(总是有挂)1、完成wepoker透视脚本免...
透视挂透视!wepoker透视... 透视挂透视!wepoker透视是真的吗(透视)poker辅助器免费安装(真是真的有挂)所有人都在同一...
透视安装!德普之星辅助工具如何... 透视安装!德普之星辅助工具如何打开(透视)透视(本来是有挂);1、任何德普之星辅助工具如何打开ai辅...
透视存在!wpk俱乐部是做什么... 透视存在!wpk俱乐部是做什么的(透视)透视插件(果然真的有挂);1、点击下载安装,wpk俱乐部是做...
透视安装!wepoker作弊方... 透视安装!wepoker作弊方法(透视)辅助器(本来是有挂);wepoker作弊方法软件透明挂微扑克...
透视游戏!wepoker国外版... 透视游戏!wepoker国外版透视(透视)wepoker有辅助吗(其实是真的有挂)1、很好的工具软件...
透视免费!德普之星私人局透视(... 透视免费!德普之星私人局透视(透视)app安卓版破解版(果然是有挂);运德普之星私人局透视辅助工具,...
透视ai!wpk私人局辅助是真... 透视ai!wpk私人局辅助是真的吗(透视)辅助(都是真的是有挂)1、构建自己的wpk私人局辅助是真的...