美文网首页
Python列表用法

Python列表用法

作者: 寒江孤影丶 | 来源:发表于2020-08-05 00:01 被阅读0次

列表基础

  1. 创建列表

创建一个空列表

   List = []#空列表

创建一个含有元素的列表

   List = [1,2,3,4,"列表","元素"]

创建一个多类型元素列表

   List = [2,45.13,3,4,5,"嵌套列表"] # 包含 整数、浮点数、字符串

创建嵌套列表

List = [1,(1,2,3,4),"列表","元素",{"元素":"列表"}] # 包含数字、元组、字符串、字典
  1. 访问元素
    列表访问主要包括:索引、切片、循环
    索引是指对应元素所在的位置,与下标是一个意思,索引是从0开始
    使用索引获取列表里的内容
List=["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
print(List[0])
print(List[1])
print(List[2])
print(List[3])

输出结果:

第1个元素
第2个元素
第3个元素
第4个元素

使用切片正向索引获取列表里的内容

List=["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
print(List[1:4])

输出结果:

['第2个元素', '第3个元素', '第4个元素']

使用切片反向索引索引获取列表里的内容

List=["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
print(List[-1])

输出结果:

第5个元素

通过反向索引取出所有元素

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
print(List[::-1])

输出结果:

['第5个元素', '第4个元素', '第3个元素', '第2个元素', '第1个元素']

使用两个冒号获取带间隔的序列元素,两个冒号后的数字就是间隔长度

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
   print(List[::2])

输出结果:

['第1个元素', '第3个元素', '第5个元素']

切片的完全形态 开始:结束:间隔

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
   print(List[1:4:2])

输出结果:

['第2个元素', '第4个元素']

使用for循环和enumerate函数来取出列表的索引

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
for i in enumerate(List):
    print(i)

输出结果:

(0, '第1个元素')
(1, '第2个元素')
(2, '第3个元素')
(3, '第4个元素')
(4, '第5个元素')
  1. 添加元素

使用append添加元素,每次添加一个,列表的尾部添加

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
List.append("添加第1个元素")
    print(List)
List.append("添加第2个元素")
    print(List)

输出结果:

['第1个元素', '第2个元素', '第3个元素', '第4个元素', '第5个元素', '增加一个元素']#末尾处是新增的元素
['第1个元素', '第2个元素', '第3个元素', '第4个元素', '第5个元素', '添加第1个元素', '添加第2个元素']#末尾处是新增的第2个元素

使用insert添加元素,在指定的位置添加元素

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
List.insert(0,"在0的位置添加一个元素")
print(List)

输出结果:

['在0的位置添加一个元素', '第1个元素', '第2个元素', '第3个元素', '第4个元素', '第5个元素']#0的位置元素变成了,新添加的元素

使用extend 方法实现批量添加元素时未创建一个新的列表,而是直接添加在原列表中

List=[1,3,5,7,8]
List.extend([10,20,30,40])
print(List)

输出结果:

[1, 3, 5, 7, 8, 10, 20, 30, 40]#批量添加元素

使用+拼接列表,也可以完成批量元素的添加,但实际是创建了一个新列表

List=[1,3,5,7,8]
List1 = List + [20,30,40,50]
print(List)
print(List1)

输出结果:

[1, 3, 5, 7, 8] #原列表
[1, 3, 5, 7, 8, 20, 30, 40, 50]#新创建列表
  1. 删除元素

删除元素的方法有三种:remove,pop,del

remove 直接删除元素,若被删除元素在列表内有多个,则只删除一个

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第4个元素"]
List.remove("第4个元素")# 注:remove 直接写要删除的元素
print(List)

输出结果:

['第1个元素', '第2个元素', '第3个元素', '第4个元素']#只删除了一元素

pop 不带参数默认删除列表最后一个元素;若带参数则删除此参数代表的索引处的元素

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
List.pop()
print(List)
List.pop(0)
print(List)
List.pop(-2)
print(List)

输出结果:

['第1个元素', '第2个元素', '第3个元素', '第4个元素']# 不带参数的输出结果
['第2个元素', '第3个元素', '第4个元素', '第5个元素']# 带参数的时候,根据索引删除对于元素
['第1个元素', '第2个元素', '第3个元素', '第5个元素']# 可以使用正向索引和反向索引删除

del与pop类似,删除指定索引处的元素

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
del List[0]  # 注意写法 del + 列表的索引
print(List)
del List[-1]
print(List)

输出结果:

['第2个元素', '第3个元素', '第4个元素', '第5个元素']#删除第0个元素
['第1个元素', '第2个元素', '第3个元素', '第4个元素']#删除最后一个元素
  1. List其他操作

in 与可迭代容器的结合,还用于判断某个元素是否属于此列表

List = [1,2,3,4,5]
if 4 in List:
    print(True)
else:
    print(False)
-----------------------------------------------------------------------------------------
List = [1,2,3,4,5]
if 7 in List:
    print(True)
else:
    print(False)

输出结果:

True
False

内置的list与数字结合,实现元素的复制

List = ["Hi"]*4
print(List)

输出结果:

['Hi', 'Hi', 'Hi', 'Hi']

使用列表与数字相乘构建二维列表,然后第一个元素赋值为[1,2],第二个元素赋值为[3,4]

List = [[]]*2
List[0]=[1,2]
List[1]=[3,4]

输出结果:

[[1, 2], [3, 4]]

列表生成式 使用列表生成式创建1到10的所有数列表

列表生成式 使用列表生成式创建1到10的所有奇数列表

List =[i for i in range(1,11)]
List =[i for i in range(1,11) if i&1 ]

输出结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 3, 5, 7, 9]
  1. 常用API

clear 用于清空列表内的所有元素

List =[1,2,3,4,5]
List.clear()
print(List)

输出结果:

[]# 一个空列表

index 用于查找里面某个元素的索引

List =[1,2,3,4,5]
List.index(1)
print(List.index(1))
List.index(5)
print(List.index(5))

输出结果:

0  # 1的索引是0
4  # 5的索引是4

count用于统计某元素的出现次数

List =[1,2,3,4,5,3,5,5,3,3,2]
List.count(3)
print(List.count(3))
List.count(5)
print(List.count(5))

输出结果:

4 #3这个元素出现4次
3 #5这个元素出现3次

sort 用于元素排序,注:sort 方法不适合 int 和 str 类型的比较,list 和 str 不能相互比较

List =[1,30,50,48,66]
List.sort()#升序排列
print(List)
List.sort(reverse=True)#降序排列
print(List)

输出结果:

[1, 30, 48, 50, 66] #升序排列
[66, 50, 48, 30, 1] #降序排列

reverse 完成列表反转,注:reverse与切片[::-1]区别,切片有返回值,reverse没有返回值

List = ["第1个元素","第2个元素","第3个元素","第4个元素","第5个元素"]
List.reverse()
print(List)

输出结果:

['第5个元素', '第4个元素', '第3个元素', '第2个元素', '第1个元素']

列表是可变的,可变的对象是不可哈希的,不可哈希的对象不能被映射,因此不能被用作字典的键

List=[1,3]
dict ={List:'不能被哈希'} #会抛出如下异常
print(dict)

输出结果:

TypeError: unhashable type: 'list'
  1. 列表的拷贝
    直接赋值:其实就是对象的引用(别名)
    浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象
    深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象

相关文章

  • Day01自学 - Python 列表(List)

    学习参考博客地址:Python 列表(List) | python list(列表)操作用法总结 一、基础语法 创...

  • Python-四种数据结构

    Python-四种数据结构 列表 Python:列表【全用法】[https://blog.csdn.net/ddd...

  • python 列表用法

    a =["zhangshan","lis","ww","dfad","asdfd"] """ 在python的使用...

  • Python列表用法

    列表基础 创建列表 创建一个空列表 创建一个含有元素的列表 创建一个多类型元素列表 创建嵌套列表 访问元素列表访问...

  • Python增删改查

    Python增删改查基本用法 课堂笔记 ▼ List(列表) 是 Python 中使用 最频繁 的数据类...

  • python中的列表解析

    列表是python中最为重要的数据结构,利用列表解析方法可以快速生成列表。用法举例 a = [x ** 2 for...

  • python中for循环语句的用法

    python中for循环语句的用法 range()函数创建的整数列表 2.遍历字符串 遍历列表

  • Python list sort用法

    python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法。 关键字:...

  • python中range()函数的用法

    python中range()函数的用法 python中range()函数可以创建一个整数列表,一般用在for循环中...

  • pythonic技巧1:列表推导式

    列表推导式是python处理list的一种非常简洁的方式。 用法: 当我们需要通过一个列表生成另外一个列表...

网友评论

      本文标题:Python列表用法

      本文链接:https://www.haomeiwen.com/subject/hbpbrktx.html