Python3 列表
列表的表现形式为:中括号[]
name = ['yeyu','lucy','xinxin']
ex = ['筱田步美','希关','有坂深雪']
# 列表的增删改查
# 1.增加有三种方法
name.append('筱田')
print(name) # 增加到最后
name.extend(ex) # 用列表扩展另一个列表
print(name)
name.insert(4,'*氏家庭') # 根据索引添加
print(name)
# 删除有两种方法
name.remove('*氏家庭') # 知道他的值,直接取出
print(name)
name.pop(0) # 根据索引删除,如果不添加索引,刚默认最后一个
print(name)
del name[1] #根据索引,直接删除。也可以直接删除整个列表
print(name)
# 改
name[0] = '我爱霞' # 直接根据索引 = 'value' 值修改
print(name)
# 查询
print(name[0]) # 直接根据索引查询
print(name[-1]) # 索引倒序
切片:分片的标志符是冒号(:),如果我们想要获得一个列表的拷贝,最好还是用分片
a = [1,2,3]
b = a[:] # 这样,我们就相当于复制了a的列表
利用分片获取数据,分片的规则是顾头不顾尾。
a[0:2] # 这样我们只获得0和1的索引
我们还可以根据反向索引获得数据。比如-1,则代表最后一个,-2代表倒数第二个
print('分割线'.center(50,'-'))
# 列表的分片,分片是用冒号做分片符号。
# 列表的常用方法
print(name.index('筱田')) # 查询值的索引,没有则会报错
print(name.count('我爱霞')) # 返回查询值的个数
name.reverse() # 把列表翻转
print(name)
name.sort() # 把列表排序
print(name)
name.clear() # 清空列表,使之为空列表
name.copy()方法
copy(),直接用为浅复制,意思只复制了第一行,如果列表里有嵌套列表,嵌套列表里的内容与原来的形成软链接,随着原来的数据修改而改变(举例说明如下)
name = ['原数据1',['old','ooo'],'老数据']
copy_name = name.copy() # 浅复制name
name[0] = '新数据'
name[1][0] = 'new' # 修改原数据
此时都是修改的name的数据,但因为第一层数据是复制,第二层数据有软链接,所以导致嵌套里的数据会改变复制后的数据。
所以:copy_name = ['原数据1',['new','ooo'],'老数据'] # 因为列表里的列表,是独立的内存指针,所以导致复制的时候只复制了一个内存地址,所以修改name的时候会把copy_name同时变化
# 如果要完整的复制一份内容,我们就需要用到copy模块,而且是深复制
import copy
new = copy.copy(name) #浅复制
new = copy.deepcopy(name) #深复制
列表的循环
for i in name:
print(i)
根据索引循环
for i in range(name.lenth):
print(name.i)
or i in range(name.index):
print(name.i)
为什么多此一举说索引循环呢,因为range是可以有步长的,如果你想根据索引的步长间隔获取数据,则可以写成下面
for i in range(0,name.lenth,2):
print(name.i)
这样我们就可以循环双数索引的列表了
循环补充: 我们还可以通过函数enumerate,来获取列表的索引的方法,做循环
for index,i in enumerate.name:
print(index,i)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步