List 排序
Python 中的 List 对象内置了一个 sort()
方法,该方法可以对 list 中的元素按 字母/数字
,升序
进行自然排序,比如下面的代码:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]thislist.sort()print(thislist)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py['banana', 'kiwi', 'mango', 'orange', 'pineapple']
如果 list 中是全数字,默认按照数字升序排序,如下代码所示:
thislist = [100, 50, 65, 82, 23]thislist.sort()print(thislist)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py[23, 50, 65, 82, 100]
List 降序
很多情况下,我们还有降序的需求,要降序的话需要在 sort()
中增加 reverse = True
参数,代码如下:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]thislist.sort(reverse = True)print(thislist)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py['pineapple', 'orange', 'mango', 'kiwi', 'banana']
同样的道理,我们来看一下纯数字 list。
thislist = [100, 50, 65, 82, 23]thislist.sort(reverse = True)print(thislist)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py[100, 82, 65, 50, 23]
Copy List
指的注意的是,Copy List 不能简单的用 list2 =list1
, 这样的话 list1 和 list2 就是同一个引用,修改一个list会影响到另外一个list。
下面有两种方式可以实现 list 的copy。
- 使用 copy() 函数
thislist = ["apple", "banana", "cherry"]mylist = thislist.copy()print(mylist)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py['apple', 'banana', 'cherry']
- 使用 list() 函数
将一个现有list 放到 新list 的构造函数中,如下代码所示:
thislist = ["apple", "banana", "cherry"]mylist = list(thislist)print(mylist)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py['apple', 'banana', 'cherry']
List 合并
在 python 中有几种方式可以实现多个 list 的合并。
- 使用 + 号
这貌似也是 python 独有的,代码如下:
list1 = ["a", "b", "c"]list2 = [1, 2, 3]list3 = list1 + list2print(list3)PS E:dreammarkdownpython> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py['a', 'b', 'c', 1, 2, 3]
- 使用 append() 函数
可以使用 append() 函数将一个集合中的每一项单独追加到新的集合,这种方式就比较麻烦,如下代码所示:
list1 = ["a", "b" , "c"]list2 = [1, 2, 3]for x in list2: list1.append(x)print(list1)
- 使用 extend() 函数
list1 = ["a", "b" , "c"]list2 = [1, 2, 3]list1.extend(list2)print(list1)
更多 List 方法
List 下的方法特别多,其他的方法大家可以自己操作下。
译文链接:https://www.w3schools.com/python/python_lists_sort.asp
更多高质量干货:参见我的 GitHub: python