Python 列表理解、附加、排序、长度 [示例]

什么是 Python 列表?

顾名思义,列表就是一个容器,可以容纳不同的 Python 对象,可以是整数、单词、值等。它相当于其他编程语言中的数组。它用方括号表示(这是它与用括号分隔的元组的区别之一)。它也是可变的,也就是说,它可以被修改或更新;与不可变的元组不同。

示例 Python 清单:

Python 列表可以是同质的,这意味着它们可以包含相同类型的对象;或者是异构的,包括不同类型的对象。

同类列表的示例包括:

list of integers =  [1, 2, 3, 8, 33]
list of animals = ['dog', 'cat', 'goat']
list of names = ['John', 'Travis', 'Sheila']
list of floating numbers = [2.2, 4.5, 9.8, 10.4]

异构列表的示例包括:

[2, 'cat', 34.33, 'Travis']
[2.22, 33, 'pen']

访问列表中的值

要访问列表中的值,可以使用列表中对象的索引。 Python 列表指的是有序列表中元素的位置。例如:

list = [3, 22, 30, 5.3, 20]
  • 上面列表中的第一个值 3 的索引为 0
  • 第二个值 22 的索引为 1
  • 第三个值 30 的索引为 2

等等。要访问列表中的每个值,可以使用:

list[0] to access 3
list[1] to access 22
list[2] to access 30
list[3] to access 5.3
list[4] to access 20

还可以使用索引 -1 来访问列表的最后一个成员。例如,

list[-1] = 20

Python 列表切片

列表切片是分割列表子集的方法,列表对象的索引也用于此。例如,使用上面相同的列表示例;

list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];
list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);
list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)
list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).

Python 列表是上限独占的,这意味着列表切片期间的最后一个索引通常会被忽略。这就是为什么

list[2:-1] = [30, 5.3]

,而不是 [30, 5.3, 20]。上面给出的所有其他列表切片示例也是如此。

更新列表

假设您有一个列表 = [物理、化学、数学],并且您想要将该列表更改为 [生物学、化学、数学],从而有效地更改索引 0 处的成员。这可以通过将该索引分配给您想要的新成员轻松完成。

即,

list = [physics, chemistry, mathematics]
    list[0] = biology
    print(list)

输出:[生物学,化学,数学]

这会将索引 0 处的成员(物理)替换为您想要的新值(化学)。您可以对要更改的列表的任何成员或子集执行此操作。

再举一个例子;假设您有一个名为整数的列表,其中包含数字 [2, 5, 9, 20, 27]。要将该列表中的 5 替换为 10,您可以这样做:

integers = [2, 5, 9, 20, 27]
           integers[1] = 10
           print(integers)

>>> [2, 10, 9, 20, 27]

要将整数列表的最后一个成员 27 替换为自由数字 30.5,您可以使用:

integers = [2, 5, 9, 20, 27]
           integers[-1] = 30.5
           print(integers)

>>> [2, 5, 9, 20, 30.5]

删除列表元素

有3 Python 删除列表元素的方法:list.remove()、list.pop() 和 del 运算符。Remove 方法将要删除的特定元素作为参数,而 pop 和 del 将要删除的元素的索引作为参数。例如:

列表 = [3, 5, 7, 8, 9, 20]

要从列表中删除 3 (第一个元素),您可以使用:

  • list.remove(3) 或
  • list.pop[0],或
  • 删除列表[0]

要从列表中删除索引 8 处的项目 3,您可以使用:

  • list.remove(8),或
  • 列表.pop[3]

追加列表元素

要将元素附加到列表,可以使用 append 方法,该方法会将元素添加到列表的末尾。

例如:

list_1 = [3, 5, 7, 8, 9, 20]
    list_1.append(3.33)
    print(list_1)

    >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]

    list_1.append("cats")
    print(list_1)
    >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]

列出内置函数(方法)

以下是列表内置函数和方法及其说明的列表:

  • len(列表): 这将输出列表的长度。例如:
numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
  • 最大(列表): 返回列表中具有最大值的项目。例如:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • 最小值(列表): 返回列表中具有最小值的项目。例如:
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
  • 列表(元组): 将元组对象转换为列表。例如;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • 列表弹出(index):从列表中删除指定索引处的元素。例如;
numbers = [2, 5, 7, 9, 15]
numbers.pop(2)
print(numbers)
>>> [2, 5, 9, 15]
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
  • 列表.reverse():反转列表的对象。例如;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • 列表.索引(元素):获取列表中元素的索引值。例如;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
  • 总和(列表):如果值都是数字(整数或小数),则获取列表中所有值的总和。例如;
values = [2, 5, 10]
sum_of_values = sum(values)
print(sum_of_values)

>>> 17

如果列表包含任何非数字元素(例如字符串),则 sum 方法将不起作用。您将收到一条错误消息:“类型错误: 不支持 + 的操作数类型:'int' 和 'str'”

  • list.sort():按升序或降序排列整数、浮点数或字符串列表。例如:
values = [1, 7, 9, 3, 5]
# To sort the values in ascending order:
values.sort()
print(values)

>>> [1, 3, 5, 7, 9]

另一个例子:

values = [2, 10, 7, 14, 50]
# To sort the values in descending order:
values.sort(reverse = True)
print(values)

>>> [50, 14, 10, 7, 2]

字符串列表也可以按字母顺序或字符串长度进行排序。例如;

# to sort the list by length of the elements
strings = ['cat', 'mammal', 'goat', 'is']
sort_by_alphabet = strings.sort()
sort_by_length = strings.sort(key = len)
print(sort_by_alphabet)
print(sort_by_length)

>>> ['cat', 'goat', 'is', 'mammal']
        ['is', 'cat', 'goat', 'mammal']

我们可以使用字符串按字母顺序对同一个列表进行排序。

循环遍历列表

循环遍历列表的方式与任何其他循环函数相同 Python这样,一个方法就可以同时对列表的多个元素执行。例如:

列表 = [10, 20, 30, 40, 50, 60, 70].

循环遍历此列表的所有元素,假设每个元素加 10:

for elem in list:
        elem = elem + 5
        print(elem)
    
    >>>>15
        25
        35
        45
        55
        65
        75

循环遍历列表的前三个元素,并全部删除;

for elem in list[:3]:
    list.remove(elem)

    >>>list = [40, 50, 60, 70]

循环遍历 3rd (索引 2)到列表中的最后一个元素,并将它们附加到名为 new_list 的新列表中:

new_list = []	
    for elem in list[2:]:
        new_list.append(elem)
        print(“New List: {}”.format(new_list))
    
   Output:
	New List: [30, 40, 50, 60, 70]

这样,可以将任何方法或函数应用于列表的成员以执行特定操作。您可以循环遍历列表的所有成员,也可以使用列表切片循环遍历列表的子集。

清单理解 Python

列表推导是 Python 用于使用已创建的序列创建新序列(例如列表、字典等)的函数。它们有助于减少较长的循环并使您的代码更易于阅读和维护。

例如;假设您想要创建一个包含从 1 到 9 的所有数字的平方的列表:

list_of squares = []
    for int in range(1, 10):
        square = int ** 2
        list_of_squares.append(square)

    print(list_of_squares)

List_of_squares using for loop:

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

使用列表推导来做同样的事情:

list_of_squares_2 = [int**2 for int in range(1, 10)]

    print('List of squares using list comprehension: {}'.format(list_of_squares_2))

Output using list comprehension:

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

如上所示,使用列表推导式编写代码比使用传统的 for 循环要短得多,而且速度也更快。这只是使用列表推导式代替 for 循环的一个例子,但它可以在许多可以使用 for 循环的地方复制和使用。有时,使用 for 循环是更好的选择,特别是当代码很复杂时,但在许多情况下,列表推导式将使您的编码更容易、更快。

下面是包含一些列表函数和方法及其描述的表格。

内置函数

功能 商品描述
圆形的() 将作为参数传递的数字四舍五入为指定的位数并返回浮点值
分钟() 返回给定列表的最小元素
最大限度() 返回给定列表的最大元素
len() 返回列表的长度
枚举() 此内置函数生成可迭代对象中的项的值和索引,因此我们不需要手动计数
筛选() 测试列表中的每个元素是否为真
LAMBDA 表达式可以出现在 def(用于创建函数)不符合语法的地方,例如列表文字内或函数的调用参数中
地图() 将给定函数应用于给定可迭代对象的每个项目后,返回结果列表
积累() 将传入参数的特定函数应用于所有列表元素,返回包含中间结果的列表
总和() 返回列表中所有数字的总和
Cmp() 这用于比较两个列表,如果第一个列表大于第二个列表,则返回 1。
插页 将元素插入到列表中的特定位置

列出方法

功能 商品描述
附加() 在列表末尾添加新项目
清除() 从列表中删除所有项目
复制() 返回原始列表的副本
延长() 在列表末尾添加许多项目
数数() 返回列表中特定项目的出现次数
指数() 返回列表中特定元素的索引
流行音乐() 从特定索引处的列表中删除项目(按位置删除)
消除() 从列表中删除指定项目(按值删除)
Rev反之() 就地反转方法,反转列表元素的顺序

总结

  • 顾名思义,列表就是一个容器,可以容纳不同的 Python 对象,可以是整数、单词、值等等。
  • Python 列表可以是同质的,意味着它们可以包含相同类型的对象;或者是异构的,包含不同类型的对象。
  • 要访问列表中的值,可以使用列表内对象的索引。
  • 列表切片是分割列表子集的方法,列表对象的索引也用于此。
  • 删除列表元素的三种方法是:1)list.remove(),2)list.pop()和3)del运算符
  • Append 方法用于附加元素。这会将元素添加到列表的末尾。
  • 循环方法 Python 程序可以同时对数据列表的多个元素执行。
  • 列表推导是 Python 用于使用已创建的序列创建新的序列(例如列表,字典等)的函数。

每日Guru99新闻简报

通过立即获取最新、最重要的人工智能新闻报道来开始您的一天。