python列表的创建、数据类型、索引、循环遍历、添加、修改、查询、切片、排序、翻转、深浅拷贝等

编程入门 行业动态 更新时间:2024-10-22 16:35:38

python列表的创建、数据类型、索引、循环<a href=https://www.elefans.com/category/jswz/34/1771029.html style=遍历、添加、修改、查询、切片、排序、翻转、深浅拷贝等"/>

python列表的创建、数据类型、索引、循环遍历、添加、修改、查询、切片、排序、翻转、深浅拷贝等

文章目录

  • python列表
    • 一、创建列表
    • 二、查看数据类型和列表中的数据
    • 三、通过索引获取列表中的数据
    • 四、列表的循环遍历
    • 五、列表的添加
      • append
      • insert
      • '+'加法
      • extend
    • 六、删除操作
      • pop:指定索引删除数据,如果索引不存在则报错
      • remove:根据内容删除
      • clear:清除所有内容,变成空列表[]
      • del:删除列表
    • 六、修改
    • 七、查询
      • 1、通过索引获取元素
      • 2、根据内容统计个数
      • 3、根据内容返回索引值
      • 4、指定查找,范围内没有则会报错
    • 八、列表的切片
    • 九、列表的排序
    • 十、翻转
    • 十一、深浅拷贝
      • 浅拷贝
      • 深拷贝

python列表

列表是一个有序的,可修改的,元素以逗号分割,以中括号包围的序列。
列表格式:
变量名= [元素1,元素2,元素3,…]

一、创建列表

 lst = ['name', 12, '李嘉豪']

二、查看数据类型和列表中的数据

print(lst)  # ['name', 12, '李嘉豪']
print(type(lst))  # <class 'list'>

三、通过索引获取列表中的数据

lst = ['name', 12, '李嘉豪']
ret = lst[0]
print(ret)  # name

四、列表的循环遍历

# lst = ['name', 12, '李嘉豪']
for i in lst:print(i)
'''
输出:
name
12
李嘉豪
'''

五、列表的添加

append

lst = ['name', 12, '李嘉豪']
lst.append('tom')
print(lst)  # ['name', 12, '李嘉豪', 'tom']

insert

lst = ['name', 12, '李嘉豪']
lst.insert(0, 'jey')
print(lst)  # ['jey', 'name', 12, '李嘉豪', 'tom']

'+'加法

lst = ['name', 12, '李嘉豪']
lst1 = ['mary', 'eric']
lst2 = lst + lst1
print(lst2)  # ['jey', 'name', 12, '李嘉豪', 'tom', 'mary', 'eric']

extend

lst = ['name', 12, '李嘉豪']
lst1 = ['mary', 'eric']
lst.extend(lst1)
print(lst)  # ['name', 12, '李嘉豪', 'mary', 'eric']

六、删除操作

pop:指定索引删除数据,如果索引不存在则报错

lst = ['name', 12, '李嘉豪']
lst.pop(0)
print(lst)  # [12, '李嘉豪']

remove:根据内容删除

lst = ['name', 12, '李嘉豪']
lst.remove(12)
print(lst)  # ['name', '李嘉豪']

clear:清除所有内容,变成空列表[]

lst = ['name', 12, '李嘉豪']
lst.clear()
print(lst)  # []

del:删除列表

lst = ['name', 12, '李嘉豪']
del lst
print(lst)  # NameError: name 'lst' is not defined

六、修改

lst = ['name', 12, '李嘉豪']
lst[0] = '啦啦啦'
print(lst)  # ['啦啦啦', 12, '李嘉豪']

七、查询

1、通过索引获取元素

lst = ['name', 12, '李嘉豪']
ret = lst[0]
print(ret)  # name

2、根据内容统计个数

num = lst.count('李嘉豪')
print(num)  # 1

3、根据内容返回索引值

index = lst.index('李嘉豪')
print(index)  # 2

4、指定查找,范围内没有则会报错

length = len(lst)
print(length)  # 3
ret = lst.index('name', 0, length)
print(ret)  # 0

八、列表的切片

lst = ['name', 12, '李嘉豪']
ret = lst[0:2:1]
print(ret)  # ['name', 12]
print(lst)  # ['name', 12, '李嘉豪']

九、列表的排序

升序排序:

lst = ['tom', 'jerry', 'carl', 'zs', 'ls']
print(lst)  # ['tom', 'jerry', 'carl', 'zs', 'ls']
lst.sort()
print(lst)  # ['carl', 'jerry', 'ls', 'tom', 'zs']

降序排序:

lst = ['tom', 'jerry', 'carl', 'zs', 'ls']
lst.sort(reverse=True)
print(lst)  # ['zs', 'tom', 'ls', 'jerry', 'carl']

十、翻转

lst = ['tom', 'jerry', 'carl', 'zs', 'ls']
lst.reverse()
print(lst)  # ['ls', 'zs', 'carl', 'jerry', 'tom']

十一、深浅拷贝

浅拷贝

第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址

lst = ['豪']
lst1 = ['李', '嘉', lst]
lst2 = lst1.copy()
print(lst1)  # ['李', '嘉', ['豪']]
print(lst2)  # ['李', '嘉', ['豪']]
lst2[0] = '龚'
# lst1的内存地址是35591432;lst2的内存地址是35591560
print(id(lst1), lst1)  # 35591432 ['李', '嘉', ['豪']]
print(id(lst2), lst2)  # 35591560 ['龚', '嘉', ['豪']]
lst2[2][0] = '佳'
# 更深层的数据,例如lst1[2]和lst[2]都是同一个内存地址35198152
print(id(lst1[2]), lst1[2])  # 35198152 ['佳']
print(id(lst2[2]), lst2[2])  # 35198152 ['佳']

深拷贝

导入 copy 模块
Import copy
copy.deepcopy()

import copylst = ['豪']
lst1 = ['李', '嘉', lst]
lst2 = copy.deepcopy(lst1)
print(lst1)  # ['李', '嘉', ['豪']]
print(lst2)  # ['李', '嘉', ['豪']]
# 修改第一层内容
lst2[0] = '龚'
print(lst1)  # ['李', '嘉', ['豪']]
print(lst2)  # ['龚', '嘉', ['豪']]
# 修改第二层内容
lst2[2][0] = '佳'
print(lst1)  # ['李', '嘉', ['豪']]
print(lst2)  # ['龚', '嘉', ['佳']]

更多推荐

python列表的创建、数据类型、索引、循环遍历、添加、修改、查询、切片、排序、翻转、深浅拷贝等

本文发布于:2024-03-09 09:11:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724564.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:遍历   深浅   切片   数据类型   索引

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!