Python基础知识(四) 列表 , 字典 , 元组. 切片
Python基础知识(四)
一丶列表
-
定义格式:
是一个容器,由 [ ]表示,元素与元素之间用逗号隔开.
如:name=["张三","李四"]
-
作用:
存储任意类型的数据 (32位机器能存5亿多,64为机器存储更多)
-
特点:
可变 (增,删,改,查) 默认从左到右 ,从0开始 .
有序(索引,切片,步长)
-
操作:
增 , 删 , 改 ,查 ,索引,切片,步长 👇
#列表的两种定义方式
name=["香蕉","西瓜","水蜜桃","桔子",1,2,3]
a=list('abc') #迭代生成列表 -->['a','b','c']
####追加元素
#append("梨子") 追加 ,追加到列表的末尾.
print(name.append("梨子")) #---> [....(省略),"梨子"]
#insert(索引,"内容") 指定索引位置插入,参数一:索引,参数二:内容,效率低
print(name.insert(1,"苹果")) #-->['香蕉','苹果','西瓜']
#extend() 扩展 迭代添加到列表末尾 ,底层是通过for循环追加
print(name.extend('abc'))#--->[...,'a','b','c']
#底层:for i in 'abc' : li.append(i)
#列表合并,生成一个新的列表
a=[1,2,3]
b=[1,2,3]
print(a+b) # 列表合并
####删除操作
#pop() 弹出 ,默认删除最后一个, 唯一能够返回删除内容,
res=name.pop()
print(res) # -->得到删除的内容
print(name.pop(1))# 可以通过删除列表中元素的索引,删除元素
#remove() 通过删除元素的名字, 删除最左边的,指定一个参数
print(name.remove('香蕉'))
#clear() 清空列表
print(name.clear()) # -->[]
#del 删除整个列表 , 会出现列表未定义的错误
del name #删除整个列表 ,列表内存地址也会清理
def name[1] #删除指定索引的元素
del name[1:3] #删除区间
del name[1:4:2] #步长删除
#修改
#按照元素索引修改
name[1]='杏'
print(name[1]='杏') ---> ['香蕉','杏',...]
#切片修改, 修改的内容可多可少,可指定任意空类型数据
name[1:5]='abc' # -->['香蕉','a','b','c']
#步长修改 (修改几个地方,填充几个数据,修改多少,不能不能少)
name[1:5:2]='你好' # 迭代修改
name[1:5:2]='你','好' # 指定修改
### 位置替换总结:
# 步长为正: 步长为1: 任意替换 , 步长>1:替换的位置必须一一对应(切出来几个位置,替换几个位置)
# 步长为负: 替换位置必须一一对应
#查询
#索引查
print(name[1]) # 查询 索引为1 的数据
# 切片(顾头不顾尾) 以0 开头 ,或者结尾 ,可以忽略不写
print(name[1:3]) #取出前2个
print(name[-1]) #取出最后一个值
# for 循环 查看 ,遍历所有内容 . 列表是一个可迭代对象
for i in name:
print(i)
####列表的嵌套 采⽤降维操作.⼀层⼀层的看就好.
li=[1,2,['哈密瓜',['冰水'],],3,['电视','西瓜']]
#取出电视
print(li[4][0])
#取出冰水
print(li[2][1][0])
二丶元组
-
定义格式:
俗称不可变的列表,又称只读列表
是一个容器,由 ( )表示,元素与元素之间用逗号隔开.
如:name=("张三","李四")
-
作用:
存储任意类型的数据
-
特点:
不可变 (只能查看) 默认从左到右 ,从0开始 .
有序(索引,切片,步长)
-
操作:
查 ,索引,切片,步长 👇
####元组
tu2=() # 空元组
print(type(tu2))
####区分 小括号中只有一个元素时,没有逗号,就是元素的本身类型
tu=('syt') # ---->str类型
tu1=(1) # --->int 类型
tu2=(1,) # 只有一个元素和逗号 ,也元组类型
print(type(tu),type(tu1),type(tu2))
#索引查看
tu=(1,2,3,4,'str')
print(tu[1])
#for 查询 元组是一个可迭代对象
tu=(1,2,3,4,'str')
for i in tu:
print(i)
#切片,步长查看
tu = (1, "太⽩白", "李李⽩白", "太⿊黑", "怎么⿊黑")
print(tu[2:5]) # 切⽚片之后还是元组
#元组的嵌套
tu=(1,(2,(3,(4,(5,6,7,8),9),10),11),12)
#取出5
print(tu[1][1][1][1][0])
###元组不能修改, 若是元组中的子元素是可变的数据类型就可以修改,若是元组类型还是不可修改
#修改的不是元组,而是元组中能够可修改的数据类型中的数据,如列表[]
tu=(1,2,3,['a',['e'],'b'])
tu[3][1][0]='d'
print(tu) # ---->(1, 2, 3, ['a', ['d'], 'b'])