List 排序
Python 中的 List 对象内置了一个 sort()
方法,该方法可以对 list 中的元素按 字母/数字
,升序
进行自然排序,比如下面的代码:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
PS E:\dream\markdown\python> & "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:\dream\markdown\python> & "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:\dream\markdown\python> & "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:\dream\markdown\python> & "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:\dream\markdown\python> & "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:\dream\markdown\python> & "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 + list2
print(list3)
PS E:\dream\markdown\python> & "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 下的方法特别多,其他的方法大家可以自己操作下。
更多高质量干货:参见我的 GitHub: python