列表、元组、字典(Python day10)

本文介绍了Python中的三种重要数据结构——列表、元组和字典。列表可以通过append、insert和extend等方法进行元素的添加,其中extend可将一个列表的元素逐个添加到另一个列表。元组是不可变数据类型,可以存储多种类型的数据,通过索引进行截取。字典是键值对的数据结构,键必须是不可变类型,提供了增、删、查等操作。文章还提到了列表的排序方法以及元组和字典的一些基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[]代表列表、()代表元组、{}字典

列表

append 尾部添加(追加) 只能在列表的尾部进行添加,只能再其尾部加入,并且一次只能插入一个
for 可以遍历插入

list=['这','是','个','表']
list.append('对')
print(list)

一次插入一个,并且只能是一个
在这里插入图片描述


inster 是根据下标插入,一次插入一个,只能是一个

list.insert(1,'布')
print(list)

在这里插入图片描述


二维列表,也叫链表的嵌套

list2=['这','有','个','表',['这是嵌套的表']]
print(list2)

在这里插入图片描述
嵌套的这个表也只占一个下标


extend 可迭代对象 将一个列表中的元素逐个添加到另外一个列表

list3=['你','好','我',[],'!']
a=['####','$$$$']
list3.extend(a)
print(list3)

在这里插入图片描述
注意是逐个,所以并不能将要插入的对象放在指定的子列表中


列表下标从0开始 获取元素 num[下标]

num=[2,3,4,5,6,'^',8]
print(num[2:len(num):2])

注意len()括号里面要加入我们要求的那个列表名字
在这里插入代码片


列表的遍历
遍历要用for来做

num=[2,3,4,5,6,'^',8]
for e in  num:
    print(e,end=' ')

遍历时类型可以不一样
在这里插入图片描述


使用多个变量名接受元素

bianliang1,bianliang2=['我是变量1',")))))))))"]
print(bianliang1)
print(bianliang2)

在这里ss入代码片

可以同时赋值变量不假,但是不能同时输出


两个列表进行相加

biangliang1='我是变量1'
bianliang2=')))))))))'
biangliang3=biangliang1+bianliang2
print(biangliang3)


如何给变量和列表同时赋值呢
*语法是:变量1,变量2=[]

lst1,*lst2= [1,2,3,4,5,6,7,8,9]
print(lst2)
#数字1给了lst1

这是列表2
在这里插入图片描述


列表排序,默认是升序
语法是:表.sort()

a=[34,545,656,75,32,43,57]
a.sort()#可以什么都不加,也可加入条件,比如降序条件
print(a)#数字可以
a=["c","r","n","a","b","e"]
#a="c","r","n","a","b","e"竟然不报错
a.sort()
print(a)#字母也可排序

表.sort(),不能赋值给任何东西,括号可以加入条件
在这里插入图片描述


表.sort() ,默认是先把大写往前排

a=["AbD","abc","aBe"]
key=str.lower
a.sort()  # 默认是先把大写往前排
a.sort(key=str.lower)  # 指定  key=str.lower 字母按照首字母小写往后排列
print(a)

相当于a列表传入函数中后统一变成一个大小写,然后逐一比较,在按照原来的形式输出出来
在这里插入图片描述


reverse = True 表示降序,=False是升序


#reverse = True 表示降序排序
a=[34,545,656,75,32,43,57]
a.sort(reverse=True) # 降序 True
print(a)
a.sort(reverse=False)  #升序  False
print(a)

在这里插入图片描述


reverse()翻转
语法:表.reverse()
可以理解成用

print('翻转或者是用了栈')
a=["c","r","n","a","b","e"]
a.reverse()
print(a)

在这里插入图片描述


sorted() 可以对列表进行排序操作
语法:表=sorted(a)

a=["c","r","n","a","b","e"]
a=sorted(a)
print(a)#自动排序

在这里插入图片描述


sorted 和 reverse 协同使用
语法:sorted(列表名,reverse=bool)
reverse=True降序 False升序

a=a=["c","r","n","a","b","e"]
a=sorted(a,reverse=False)
print(a)

在这里插入图片描述

元组

格式:变量名 = (元素1,元素2,…)
注意 元组有一个元素,以 逗号结尾, 起始下标从 0 开始 倒序 从 -1 开始

a_tup = (1,2,3,4,5)
b_tup = ("mn",)

# 访问元组元素 通过下标
print(a_tup[-1])

在这里插入代码片

# for 循环遍历元组
a_tup = (1,2,3,4,5)
for temp in a_tup:
    print(temp,end=" ")

在这里插入图片描述


可以存储int 字符串 float bool 列表

m_tup = (1,2,"hello",12.5,True,[1,2,3])
for temp in m_tup:
     print(temp)

在这里插入图片描述


元组截取
语法:元组[头下标:尾下标:步长]
含头,不含尾

m_tup = (1,2,"hello",12.5,True,[1,2,3])
print(m_tup[1:4]) # 通过下标截取元组数据 下标包含头,不含尾
print(m_tup[0:5:2]) # 步长为2  (1, 'hello', True)

在这里插入图片描述


元组合并与重复

#元组合并
a = (11,22)
b = (33,44)
c = a+b
print(c) #两个元组相加 (11, 22, 33, 44)

# 重复
a = (11,22)
b = a * 4  # 复制四份 生成新元组(11, 22, 11, 22, 11, 22, 11, 22)
print(b)

在这里插入图片描述


tuple函数 将一个对象转成元组
元组也可以转化成元组

# tup函数  将一个对象转成元组
	s1 = "python-very-good"
		#s1 = 123456  #TypeError: 'int' object is not iterable
	s1 = tuple(s1)
	print(s1)

# 列表转元组
	s2 = [1,2,3,4,5,6,7]
	s3 = tuple(s2)
	print(s3)

# 将元组 转成 元组
	tup = (1,2,3,4,5,6,)
	new_tup = tuple(tup)
	print(new_tup)

在这里插入图片描述


元组中的逗号
元组中的一个逗号,有逗号是元组类型,没有逗号是普通的值的类型

t1=(1,)
t2=(1)
print(type(t1))
print(type(t2))

在这里插入图片描述


元组中的方法
index,从左往右返回第一个遇到的指定元素的索引,没有就报错
返回值是下标

y=('A','n','a','c','o','n','d','a',3)
print(y.index('c'))#下标
print(y.index('n'))
print(y.count('n'))#是计数

这是没有报错的情况
在这里插入图片描述

这是报错的情况
在这里插入图片描述

字典

字典的增删改
字典是Python中唯一内建的数字类型
格式:key:value
键:值

youqu={'name':'于谦','age':18,'hobby':{'抽烟','喝酒','烫头'}}
print(youqu)
print(type(youqu))

在这里插入图片描述


字典中的不可修改数据类型
即:不可改(只能增删查)

u={'name':'张三','age':16}
print(u)
v={['1','2']:'heihei'}
print(v)

在这里插入图片描述

明天再学删查!

再把今天的深浅拷贝讲一下
若想用copy,必须调用copy的包
列表[]

import copy
a=['1','2']
print(id(a))
print(id(a[0]))
print('以下是浅拷贝')
b=copy.copy(a)
print(id(b))
print(id(b[0]))
print('以下是深拷贝')
c=copy.deepcopy(a)
print(id(c))
print(id(c[0]))

在这里插入图片描述

import copy
a=[['1'],['2']]
print('a的列表地址',id(a))
print('a列表第一个元素地址',id(a[0]))
print('以下是浅拷贝')
b=copy.copy(a)
print('b的列表地址',id(b))
print('b列表第一个元素地址',id(b[0]))
print('以下是深拷贝')
c=copy.deepcopy(a)
print('c的列表地址',id(c))
print('c列表第一个元素地址',id(c[0]))

在这里插入图片描述

值得注意的是
在这里插入图片描述

个人拙见,请见谅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值