亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

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

什么是 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]

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

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 处的成员(物理)替换为您想要的新值(化学)。这可以针对您要更改的列表的任何成员或子集进行。

再举一个例子;假设您有一个名为 integers 的列表,其中包含数字 [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(第一个元素),您可以使用:

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

附加列表元素

要将元素追加到列表中,请使用 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"]

列出内置函数(方法)

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

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]
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]
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 方法将不起作用。您会收到一条错误消息:“TypeError :+ 不支持的操作数类型:‘int’和‘str’”

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]

通过 3 rd 循环 (索引 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 循环是更好的选择,尤其是在代码复杂的情况下,但在许多情况下,列表推导式将使您的编码更轻松、更快捷。

下面是一个表格,其中包含一些列表函数和方法,以及它们的描述。

内置函数

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

列出方法

函数 描述
追加() 在列表末尾添加一个新项目
清除() 从列表中删除所有项目
复制() 返回原始列表的副本
扩展() 将许多项目添加到列表的末尾
计数() 返回列表中特定项目的出现次数
索引() 返回列表中特定元素的索引
Pop() 从列表中特定索引处删除项目(按位置删除)
删除() 从列表中删除指定项(按值删除)
反向() 反转列表元素顺序的就地反转方法

总结


Python

  1. Python 数据类型
  2. Python 运算符
  3. Python pass 语句
  4. Python 函数参数
  5. Python字典
  6. Python 迭代器
  7. Python 闭包
  8. Python 日期时间
  9. Python 平均值:如何在 Python 中找到列表的平均值
  10. 带有示例的 Python 列表计数()
  11. Python从列表中删除重复项
  12. 从 Python LIST 中移除元素 [clear, pop, remove, del]