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) 

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...