写点什么

Python 列表操作指南 3

作者:小万哥
  • 2023-10-04
    湖北
  • 本文字数:1540 字

    阅读完需:约 5 分钟

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 + list2print(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 具有一组内置方法,您可以在列表上使用这些方法。


最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:


公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区


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

发布于: 刚刚阅读数: 4
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
Python 列表操作指南3_Python_小万哥_InfoQ写作社区