9.29 python数据容器 列表+元组

python数据容器
列表list
定义
# 用[]括起来的量 里面用,隔开
# 变量名=[1,2,3,4,5]
# 空列表定义方法
# 变量名=[]
# 变量名=list[]
# 列表list 的数据类型是 list
#列表可以存不同的数据类型 哪怕是列表中的每个元素类型不同
#支持嵌套列表
# print()打印列表会 一个个元素打印出来

# 列表的下标索引  从0开始  反向的话从-1开始 最后一个是-1  嵌套时多层索引 索引(index)无法超出范围(越界) 会报错
# list[0]
# list[-1]
# list[2][1]


# 遍历  while        for
# num1=0
# while num1<len(name):
#     print(name[num1])
#     num1+=1
#
# for x in name:
#     print(x)

#列表的常用操作
# 插入 删除 清空 修改 统计某个元素个数 利用方法 方法就是类里面的成员函数

# 查询指定元素的下标
# # 列表名.index(元素)  找不到会报错
# name=['2323','2323232','2323232323','gfdfdg','gfdfdgd']
# print(name.index('2323'))
# # 修改元素的值
# # 列表[下标值]=值
# name[0]="fdgfdg"
# #插入
# # 列表名.insert(下标,元素)  在下标处插入 元素  后面的值向后移动一
# name.insert(1,'我的娃')
# print(name[2])
# #添加元素到末尾
# # .append(元素) 单个    多个 .extend(其他数据容器名)
# name.append("达瓦达瓦")
# print(name[-1])
#
# name2=['8979','7898778987','fhfghfg','tretretre']
# name.extend(name2)
# print(name[-1])
#
# # 删除元素 del 列表名[下标]    列表.pop(下标)pop本质上时将元素取出来 可以被接收
# del name2[-1]
# print(name2[-1])
# name2.pop(-1)
# print(name2[-1])
# #.remove(元素) 根据内容直接移除元素 从前到后 搜索找到的第一个被删除
# # 清空.clear()
#
# # name.clear()
# print(name)
# #统计某个元素的个数 .count(元素)
# print(name2.count('8979'))
# #统计元素总数 len(列表)  len是 自带的统计数量的函数
# print(len(name2))

 序列切片  从一个序列中切出一个子序列
# # 序列名[起始下标:结束下标:步长] 起始下标留空表示从头开始  结束下标留空表示取到末尾     结束下标是不包含的  x[-1::]取最后一个   x[:-1:]取除了最后一个的其他元素
# # 只会取到结束下标-1 比如5 那么只会取到4 步长表示取元素的间隔 步长为1表示一个个的取 为2就表示跳过一个元素去一个 为负数时表示倒过来取
# # 对序列切片不会改变序列本身 只会生成新的序列
# str4=str1[0:4:1]  #步长一般默认为1可以不写
# print(str4)
切片越界操作不会报错 但切出来是空的序列  
步长为负数时 一般前面不写开始和结束 要写的话起始的位置应该比结束的位置在后面 [5:1:-1]
切片是深拷贝  深拷贝是重新开个内存地址 改变其中一个另一个不会变 切片完成后 新的序列跟原来的序列不是一个id 深拷贝操作每次调用都会重新开新的内存地址,
浅拷贝 id是一样的 x=x2 其中一个变了 x和x2的id一起变 相当于 x直接把x2的内存地址重新变个名字用了
列表元素本身是浅拷贝 比如列表x里面嵌套列表x1 x1本身的元素变了那么x所有的切片里面的x1 都要变
序列的可以进行+ (组合)*(重复) in(判断是否存在)

#列表插入
# # 列表名.insert(下标,元素)  在下标处插入 元素  后面的值向后移动一  插入时越界了会插入到开头或者末尾
# name.insert(1,'我的娃')
# print(name[2])
# #添加元素到末尾
# # .append(元素) 单个         多个 .extend(其他数据容器名) 将其他的数据容器添加进来(可迭代数据)
# name.append("达瓦达瓦")
# print(name[-1])

# # 删除元素 del 列表名[下标]    列表.pop(下标)pop本质上时将元素取出来 可以被接收 无法越界 默认最后一个元素
# del name2[-1]
# print(name2[-1])
# name2.pop(-1)
# print(name2[-1])
# #.remove(元素) 根据内容直接移除元素 从前到后 搜索找到的第一个被删除
# # 清空.clear()
list(可迭代变量) 将可迭代变量转换为list  字符串转列表 会一个个字符取出来 字典转列表只有key
list.copy()复制列表 
list.reverse()反向列表中元素

元组
# 元组 元组定义完不可以修改  但元组里面如果是嵌套了一个列表 这个列表的元素可以改变
# 定义
# 元组名=()  元组内元素可以是各种类型的 用逗号隔开
# 空元组定义
# =()
# =tuple()
定义方式
x=1,2,3,4,5 这样会定义一个元组(1,2,3,4,5)
单元素声明(el1,)            a=100  x=a,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值