• Python 列表操作指南3


    示例,将新列表中的所有值设置为 'hello':

    newlist = ['hello' for x in fruits]

    表达式还可以包含条件,不像筛选器那样,而是作为操纵结果的一种方式:

    示例,返回 "orange" 而不是 "banana":

    newlist = [x if x != "banana" else "orange" for x in fruits]

    列表对象具有 sort() 方法,默认情况下将对列表进行字母数字排序,升序排列:

    示例,对列表按字母顺序排序:

    thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
    thislist.sort()
    print(thislist)

    示例,对列表按数字顺序排序:

    thislist = [100, 50, 65, 82, 23]
    thislist.sort()
    print(thislist)

    要进行降序排序,请使用关键字参数 reverse = True:

    示例,对列表进行降序排序:

    thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
    thislist.sort(reverse=True)
    print(thislist)

    示例,对列表进行降序排序:

    thislist = [100, 50, 65, 82, 23]
    thislist.sort(reverse=True)
    print(thislist)

    您还可以通过使用关键字参数 key = function 来自定义自己的函数。该函数将返回一个数字,用于对列表进行排序(首先是最小的数字):

    示例,根据数字距离 50 的接近程度对列表进行排序:

    def myfunc(n):
    return abs(n - 50)
    thislist = [100, 50, 65, 82, 23]
    thislist.sort(key=myfunc)
    print(thislist)

    默认情况下,sort() 方法区分大小写,这导致所有大写字母在小写字母之前排序:

    示例,区分大小写的排序可能会导致意外结果:

    thislist = ["banana", "Orange", "Kiwi", "cherry"]
    thislist.sort()
    print(thislist)

    幸运的是,在对列表进行排序时,我们可以使用内置函数作为键函数。因此,如果您想要不区分大小写的排序函数,请使用 str.lower 作为键函数:

    示例,执行不区分大小写的列表排序:

    thislist = ["banana", "Orange", "Kiwi", "cherry"]
    thislist.sort(key=str.lower)
    print(thislist)

    如果要反转列表的顺序,而不考虑字母表顺序,该怎么办?reverse() 方法将元素的当前排序顺序反转。

    示例,反转列表项的顺序:

    thislist = ["banana", "Orange", "Kiwi", "cherry"]
    thislist.reverse()
    print(thislist)

    您不能简单地通过键入 list2 = list1 来复制一个列表,因为:list2 将只是对 list1 的引用,对 list1 进行的更改也会自动在 list2 中进行。有多种方法可以进行复制,其中一种方法是使用内置的列表方法 copy()。

    示例,使用 copy() 方法复制一个列表:

    thislist = ["apple", "banana", "cherry"]
    mylist = thislist.copy()
    print(mylist)

    另一种复制的方法是使用内置的 list() 方法。

    示例,使用 list() 方法复制一个列表:

    thislist = ["apple", "banana", "cherry"]
    mylist = list(thislist)
    print(mylist)

    在Python中,有多种方法可以连接两个或多个列表。其中一种最简单的方法是使用 + 运算符。

    示例,连接两个列表:

    list1 = ["a", "b", "c"]
    list2 = [1, 2, 3]
    list3 = list1 + list2
    print(list3)

    另一种连接两个列表的方法是将 list2 中的所有项逐一附加到 list1 中:

    示例,将 list2 附加到 list1:

    list1 = ["a", "b" , "c"]
    list2 = [1, 2, 3]
    for x in list2:
    list1.append(x)
    print(list1)

    或者您可以使用 extend() 方法,其目的是将一个列表的元素添加到另一个列表中:

    示例,使用 extend() 方法将 list2 添加到 list1 的末尾:

    list1 = ["a", "b" , "c"]
    list2 = [1, 2, 3]
    list1.extend(list2)
    print(list1)

    Python具有一组内置方法,您可以在列表上使用这些方法。

    方法 描述
    append() 在列表末尾添加元素
    clear() 移除列表中的所有元素
    copy() 返回列表的副本
    count() 返回具有指定值的元素数量
    extend() 将列表(或任何可迭代对象)的元素添加到当前列表的末尾
    index() 返回具有指定值的第一个元素的索引
    insert() 在指定位置添加元素
    pop() 移除指定位置的元素
    remove() 移除具有指定值的项目
    reverse() 颠倒列表的顺序
    sort() 对列表进行排序

    最后

    为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

    看完如果觉得有帮助,欢迎点赞、收藏关注

    image

  • 相关阅读:
    亚马逊、速卖通、Lazada、Shopee、eBay、wish、沃尔玛、阿里国际、美客多等跨境电商平台,测评自养号该如何利用产品上新期抓住流量?
    软件之间沟通的大喇叭:Android四大组件之广播机制
    11、Vue的生命周期
    【SQL Server】外键约束
    【办公类-16-06】20230901大班运动场地分配表-斜线排列、5天循环、不跳节日,手动修改节日”(python 排班表系列)
    LVGL基础教程 – LVGL 简介
    完全保密的以太坊交易:Aztec网络的隐私架构
    《谷粒商城》总结篇
    ArrayList线程不安全解决办法
    IPv6 address status lifetime
  • 原文地址:https://www.cnblogs.com/xiaowange/p/17742785.html