python列表常用函数和方法速查

  • list( seq )
  • len(list)
  • max(list)
  • min(list)
  • list.append(obj)
  • list.count(obj)
  • list.extend(seq)
  • list.index(x[, start[, end]])
  • list.insert(index, obj)
  • list.pop([index=-1])
  • list.remove(obj)
  • list.reverse()
  • list.sort( key=None, reverse=False)
  • list.clear()
  • list.copy()


list( seq )

  • 用途
    元组字符串转换为列表。
  • 实例
tuple = (1, 2, 3)
print(list(tuple))  # [1, 2, 3]

str = 'hello world'
print(list(str))  # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

len(list)

  • 用途
    计算列表中元素的个数
  • 实例
list = [1, 2, 3]
print(len(list))  # 3

max(list)

  • 用途
    返回列表元素中的最大值。

当用 max() 函数当比较容器类型中的列表或者元组数据类型时,当其中的元素全部为数字类型时,直接根据值的大小比较。当其中的元素全部为字符串类型(string)时,则比较的是每个字符串元素的第一个字符的 ASCII 的大小。如果列表或者元组中的元素为数字类型和字符串类型混杂时,则无法比较。

  • 实例
list01 = [1, 2, 3]
list02 = ['you', 'have', 'fun']
list03 = [1, 2, 'a', 'b']

print(max(list01))  # 3
print(max(list02))  # you
print(max(list03))  # 报错

# ord 函数输出list02中每个元素第一个字符的ASCII码值
print(ord(list02[0][0]))  # 121
print(ord(list02[1][0]))  # 104
print(ord(list02[2][0]))  # 102

min(list)

  • 用途
    返回列表元素中的最小值。

当用 min() 函数当比较容器类型中的列表或者元组数据类型时,当其中的元素全部为数字类型时,直接根据值的大小比较。当其中的元素全部为字符串类型(string)时,则比较的是每个字符串元素的第一个字符的 ASCII 的大小。如果列表或者元组中的元素为数字类型和字符串类型混杂时,则无法比较。

  • 实例
list01 = [1, 2, 3]
list02 = ['you', 'have', 'fun']
list03 = [1, 2, 'a', 'b']

print(min(list01))  # 1
print(min(list02))  # fun
print(min(list03))  # 报错

# ord 函数输出list02中每个元素第一个字符的ASCII码值
print(ord(list02[0][0]))  # 121
print(ord(list02[1][0]))  # 104
print(ord(list02[2][0]))  # 102

list.append(obj)

  • 用途
    在列表末尾添加新的对象,该方法无返回值,但是会修改原来的列表。
  • 实例
list = [1, 2, 3]
 list.append('newMem')  # [1, 2, 3, 'newMem']

list.count(obj)

  • 用途
    统计某个元素在列表中出现的次数。
  • 实例
list = [1, 2, 3, 1]
print(list.count(1))  # 2

list.extend(seq)

  • 用途
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
  • 参数:
  • seq – 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。

list.index(x[, start[, end]])

  • 用途
    从列表中找出某个值第一个匹配项的索引位置。
  • 参数
  • x – 查找的对象。
  • start – 可选,查找的起始位置,闭区间。
  • end – 可选,查找的结束位置,开区间。
  • 实例
list = [1, 2, 3, 4, 3]

print(list.index(3))  # 2,只返回第一个匹配到的下标
print(list.index(2, 0, 1))  # end是闭区间,[0, 1)范围内只有1,找不到2所有报错
print(list.index(2, 0, 2))  # 1

list.insert(index, obj)

  • 用途
    将指定对象插入列表的指定位置。
  • 参数
  • index – 对象obj需要插入的索引位置。
  • obj – 要插入列表中的对象。
  • 实例
list = [1, 2, 3]

list.insert(1, 4)  # [1, 4, 2, 3]

list.pop([index=-1])

  • 用途
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
  • 参数
  • index – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 -1,删除最后一个列表值。
  • 实例
list = [1, 2, 3, 4]

print(list.pop())  # 4,默认删除最后一个元素
print(list.pop(1))  # 2,也可以指定要删除的元素的下标

list.remove(obj)

  • 用途
    移除列表中某个值的第一个匹配项。
  • 实例
list = [1, 2, 3, 1]

list.remove(1)  # [2, 3, 1],只删除第一个匹配项

list.reverse()

  • 用途
    反向列表中元素
  • 用途
list = [1, 2, 3, 4]

list.reverse()  # [4, 3, 2, 1]

list.sort( key=None, reverse=False)

  • 用途
    用于对原列表进行排序,如果指定参数,则使用指定的比较函数。
  • 参数
  • key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
  • 实例
# 简单排序
list = [2, 1, 4, 6, 3]

list.sort()  # [1, 2, 3, 4, 6],默认是升序
list.sort(reverse=True)  # [6, 4, 3, 2, 1]

# 复杂排序
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
random.sort(key=lambda item: item[0])  # [(1, 3), (2, 2), (3, 4), (4, 1)],使用匿名函数,key值是排序的依据

list.clear()

  • 用途
    清空列表,类似于 del a[:]。
  • 实例
list = [1, 2]

list.clear()  # [],清空列表

list.copy()

  • 用途
    复制列表,类似于 a[:],浅拷贝。
  • 实例
list01 = [[1, 2], 3, 4]
list02 = list01.copy()

# id() 函数用于查看变量的内存地址
print(id(list01) == id(list02))  # False
print(id(list01[0] == id(listo2[0])  # True,浅拷贝,只拷贝最外层。