百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

DAY6-step1 Python List列表推导,添加,排序,长度,反转

toyiye 2024-06-21 12:25 9 浏览 0 评论

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

列表切片(List slicing)

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

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)

Output: [biology, chemistry, mathematics]

这将用所需的新值(化学)替换索引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]

删除列表元素

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

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

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

  • list.remove(3) or
  • list.pop[0], or
  • del list[0]
  • 要从列表中删除索引为3的项目8,您可以使用:

  • list.remove(8), or
  • list.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"]

    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(element): 将元素追加到列表。 例如;
  • numbers = [2, 5, 7, 9]
    numbers.append(15)
    print(numbers)
    >>> [2, 5, 7, 9, 15]
  • list.pop(index): 从列表中删除指定索引处的元素。 例如;
  • 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(): 反转列表的对象。 例如;
  • 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(list): 如果值是所有数字(整数或小数),则获取列表中所有值的总和。 例如;
  • values = [2, 5, 10]
    sum_of_values = sum(values)
    print(sum_of_values)
    
    >>> 17

    如果列表包含不是数字的任何元素(例如字符串),sum方法将不起作用。 您会收到一条错误消息:“ TypeError:+不支持的操作数类型:'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']

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

    遍历列表

    遍历列表可以与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]

    要遍历列表的第三个元素(索引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]

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

    List Comprehensions列表推导

    列表推导是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循环是更好的选择,尤其是在代码复杂的情况下,但是在许多情况下,列表理解将使您的编码更加轻松快捷。

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

    Built-in Functions


    List Methods


    摘要

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

    相关推荐

    为何越来越多的编程语言使用JSON(为什么编程)

    JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

    何时在数据库中使用 JSON(数据库用json格式存储)

    在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

    MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

    前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

    JSON对象花样进阶(json格式对象)

    一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

    深入理解 JSON 和 Form-data(json和formdata提交区别)

    在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

    JSON 语法(json 语法 priority)

    JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

    JSON语法详解(json的语法规则)

    JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

    MySQL JSON数据类型操作(mysql的json)

    概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

    JSON的数据模式(json数据格式示例)

    像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

    前端学习——JSON格式详解(后端json格式)

    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

    什么是 JSON:详解 JSON 及其优势(什么叫json)

    现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

    PostgreSQL JSON 类型:处理结构化数据

    PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

    JavaScript:JSON、三种包装类(javascript 包)

    JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

    Python数据分析 只要1分钟 教你玩转JSON 全程干货

    Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

    比较一下JSON与XML两种数据格式?(json和xml哪个好)

    JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

    取消回复欢迎 发表评论:

    请填写验证码