Menu Close

Python List:Comprehension, Apend, Sort, Length, Reverse

什么是Python List?

list的确切含义是一个包含不同Python对象的容器,该对象可以是整数,单词,值等。它等效于其他编程语言中的数组。它由方括号表示(这是将其与元组(用圆括号分隔的元组)区分开的属性之一)。它也是可变的,即可以修改或更新。与不可变的元组不同。

Python list example:

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

同类列表的示例包括:

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]
list[1]
list[2]
list[3]
list[4]

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

list[-1]

list切片

list切片是一种拆分子集的方法,索引也用于此目的。例如,使用上面的相同list示例;

list [:] = [3、22、30、5.3、20](列表的所有成员);
list [1:3] = [22,30](列表中从索引1到索引3的成员,成员不在索引3处);
list [:4] = [3,22,30,5.3](列表的成员从索引0到索引4,而成员不在索引4)
list [2:-1] = [30,5.3](从索引2(列表的第三个元素到第二个到列表的最后一个元素,即5.3)的列表成员)。

list切片的最后一个索引通常被忽略。

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

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

更新list

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

    list = ["物理学","化学","数学"]
    list[0] = "生物学"
    print(list)

Output:[‘生物学’, ‘化学’, ‘数学’]

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

删除列表元素

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

list = [3, 5, 7, 8, 9, 20]

要从列表中删除3(第一个元素),有以下三种方案:

  • list.remove(3)
  • list.pop[0]
  • del list[0]

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

  • list.remove(8)
  • list.pop [3]

追加列表元素

要将元素追加到列表,请使用append方法,这会将元素添加到列表的末尾。

For example:

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

    output: [3, 5, 7, 8, 9, 20, 3.33]

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

list内置函数

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

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

>>> 17

如果列表包含不是数字的任何元素(例如字符串),sum方法将不起作用。您将收到一条错误消息:”TypeError: unsupported operand type(s) for +: ‘int’ and ‘str'”

  • list.sort():以升序或降序排列整数,浮点数或字符串的列表。例如:
values = [1, 7, 9, 3, 5]
values.sort()
print(values)

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

另一个例子:

values = [2, 10, 7, 14, 50]
values.sort(reverse = True)
print(values)

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

字符串list也可以按字母顺序或字符串长度排序。例如;

strings = ['cat', 'mammal', 'goat', 'is']
strings.sort()
print(strings)
strings.sort(key = len)
print(strings)
>>> ['cat', 'goat', 'is', 'mammal'] 
>>> ['is', 'cat', 'goat', 'mammal']

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

遍历list

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

list = [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]

要遍历列表的第三个元素,并将它们附加到名为new_list的新列表中,请执行以下操作:

list = [10, 20, 30, 40, 50, 60, 70]
new_list = []
for elem in list[2:]:
    new_list.append(elem)
print(new_list)

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

list comprehension

list comprehension是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_2)

Output:

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

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

下表是包含一些列表函数和方法及其说明的表。

内建功能

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

list方法

功能 描述
Append() 将新项目添加到列表的末尾
Clear() 从列表中删除所有项目
Copy() 返回原始列表的副本
Extend() 将许多项目添加到列表的末尾
Count() 返回列表中特定项目的出现次数
Index() 返回列表中特定元素的索引
Pop() 从列表中的特定索引处删除项目(按位置删除)
Remove() 从列表中删除指定的项目(按值删除)
Reverse() 就地反转方法,可反转列表元素的顺序

概括

  • list的确切含义是一个包含不同Python对象的容器,该对象可能是整数,单词,值等。
  • Python列表可以是同类的,这意味着它们可以包含相同类型的对象。或异构的,包含不同类型的对象。
  • 要访问列表内的值,可以使用列表内对象的索引。
  • 列表切片是一种拆分列表子集的方法,列表对象的索引也用于此目的。
  • 删除列表元素的三种方法是:1)list.remove,2)list.pop和3)del
  • Append方法用于附加元素。这会将元素添加到列表的末尾。
  • Python程序的循环方法可以同时在数据列表的多个元素上执行。
  • 列表推导是Python函数,用于使用已创建的序列创建新序列(例如列表,字典等)。
Posted in IC, Python
0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论

相关链接