Python中列表List使用方法

  • 简介
  • 定义
  • 添加元素
  • 删除元素
  • 删除指定索引的元素
  • pop()方法
  • del
  • 根据元素的值进行删除
  • 清空所有元素
  • 查询
  • index()
  • 已知该值位置查询该值
  • 修改列表元素
  • 遍历列表元素
  • 判断某值在列表中是否存在
  • 反转列表


简介

平时工作一直在用Python,也没有好好的记录一下各种常用用法,刚好这段时间有空整理一下吧。
本文会详细介绍python语言中list的各种使用方法。

定义

list类似于一个数组,里面可以放数字,也可以放字符串,,底层原理就不介绍了,感兴趣可以看原文
Python list implementation 定义的方法如下,里面可以带初值也可以不带初值,可以是数字,也可以是字符串,甚至可以是一个list,只要是一个数据项即可。

# 不带初值的定义
list1 = []
# 带初始化的定义
list2 = [1, 2]
# 里面的元素样式可多样
list3 = [1, 'a', [1, 2], {'a': 1}]

添加元素

List使用append()方法来添加元素,同上,括号中输入数字,字符串等数据项均可。
具体用法如下

list1 = []
list1.append(1)
print(list1)
# 控制台输出,可以看到成功添加了一个元素进去
[1]

删除元素

删除元素主要分为3种场景,以下会逐一介绍

删除指定索引的元素

可通过pop()或者del 关键字来删除指定,注意pop该方法输入的缺省值为-1,即最后一位,如果括号里面不带索引值则默认删除最后一位元素。

pop()方法

list1 = [1, 3, 5, 7]
list1.pop(2)
print(list1)
list1.pop()
print(list1)
# 运行结果,可以看到执行pop(2)后索引位置为2的元素5被删除了
# 执行pop()后,最后一位元素被删除了
[1, 3, 7]
[1, 3]

del

del方法比较灵活,可以删除某个索引位置的元素,也可以删除某个区间段的元素。需要注意的是,如果是del list,则整个list都会被删除。del的具体用法如下

list1 = [1, 3, 5, 7]
list2 = [1, 3, 5, 7]
del list1[0]
del list2[0:2]
print(list1)
print(list2)
# 运行结果,执行del list1[0]后,可以看到list1的索引位置为0的元素被删除了
# 执行del list2[0:2]后,可以看到索引位置为0,1的元素被删除了
[3, 5, 7]
[5, 7]

根据元素的值进行删除

remove()方法可以根据元素的值进行删除,需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。具体用法如下

list1 = [1, 3, 5, 3, 7]
list1.remove(3)
print(list1)
# 输出结果如下
[1, 5, 3, 7]

清空所有元素

clear()方法可以清理列表中所有的元素,具体用法如下:

list1 = [1, 3, 5, 3, 7]
list1.clear()
print(list1)
# 输出结果如下
[]

查询

index()

index方法是搜索输入参数的值在list里面的位置,但是只会返回第一个搜索成功的位置。具体用法如下

# 已知值查询该值所在位置
list1 = ['a', 'b', 'c', 'd', 'e', 'a']
print(list1.index('a'))
# 输出结果如下
0

已知该值位置查询该值

已知该值的索引,直接通过索引访问即可,具体用法如下

# 已知该值位置查询该值
list1 = ['a', 'b', 'c', 'd', 'e', 'a']
print(list1[0])
# 输出结果如下
a

修改列表元素

修改列表元素,在找到上述找到该值的前提下修改即可,具体用法如下

list1 = ['a', 'b', 'c', 'd', 'e', 'a']
# 已知该值
list1[list1.index('a')] = 1
print(list1)
# 已知该值的索引
list1[1] = 2
print(list1)
# 输出结果如下
[1, 'b', 'c', 'd', 'e', 'a']
[1, 2, 'c', 'd', 'e', 'a']

遍历列表元素

可以利用for循环遍历列表元素,具体用法如下:

list1 = ['a', 'b', 'c', 'd', 'e', 'a']
for i in list1:
    print(i)
# 可用len()统计list长度
print(len(list1))
# 输出结果如下
a
b
c
d
e
a
6

判断某值在列表中是否存在

可以利用 in 或者 not in来判断,具体用法如下

list1 = ['a', 'b', 'c', 'd', 'e', 'a']
print('a' in list1)
print('f' in list1)
# 输出结果如下
True
False

反转列表

通过reverse()方法可以将整个list反转过来,具体用法如下。

list1 = ['a', 'b', 'c', 'd', 'e', 'a']
list1.reverse()
print(list1)
# 输出结果如下
['a', 'e', 'd', 'c', 'b', 'a']

后续再慢慢添加咯~