怎么对python中列表进行排序
Python列表常见操作详解获取,增加,删除,修改,排序等本文实例讲述了Python列表常见操作。分享给大家供大家参考,具体如下:
列表是由一系列按特定顺序排列的元素组成的对象。因为列表通常包含多个元素, 所以建议给列表指定一个表示复数的名称。
我们用方括号( []
) 来表示列表, 并用逗号来分隔其中的元素。
|
types = [ '娱乐' , '体育' , '科技' ] print (types) |
运行结果:
['娱乐', '体育', '科技']
可以看到,打印列表的同时,也会将方括号打印出来。
1 获取元素
要获取列表中的某个元素, 在方括号内指定元素的索引即可:
|
print ( '第三个类型:' + types[ 2 ]) |
运行结果:
第三个类型:科技
当我们请求获取列表元素时, 只会返回该元素本身。
2 索引从 0 开始
跟大多数编程语言相同,索引从 0 开始计数。因此,需要获取列表的任何元素, 都可将其位置减1, 作为索引。
将索引指定为 -1,还可以获取最后一个列表元素,这样就可以在不知道列表长度的情况下,获取最后一个元素:
|
print ( '最后一个:' + types[ - 1 ]) |
运行结果:
最后一个:科技
这种语法也适用于其他负数索引。索引 -2 获取倒数第二个列表元素, 索引 -3 获取倒数第三个列表元素, 以此类推。
|
print ( '倒数第二个:' + types[ - 2 ]) |
运行结果:
倒数第二个:体育
3 新增元素
- 3.1 列表末尾
append()
方法可以将元素附加到列表末尾:
|
types.append( '财经' ) print (types) |
运行结果:
['娱乐', '体育', '科技', '财经']
append()
方法很适合动态地创建列表。我们可以先创建一个空列表, 然后再使用一系列的append()
方法为列表添加元素。
|
colors = [] colors.append( '绿色' ) colors.append( '蓝色' ) colors.append( '紫色' ) print (colors) |
运行结果:
['绿色', '蓝色', '紫色']
- 3.2 指定位置
insert()
可以在列表的任意位置添加新元素。这个方法的入参是新元素的索引和值。
|
colors.insert( 0 , '红色' ) print (colors) |
运行结果:
|
[ '红色' , '绿色' , '蓝色' , '紫色' ] |
在这个示例中, 值 ' 红色' 被插入到了列表头,列表中既有的元素都右移了一个位置。
4 修改元素
修改列表元素的语法与获取列表元素的语法相似。我们可指定列表名、要修改的元素索引以及新值:
|
colors[ 0 ] = '白色' print (colors) |
运行结果:
['白色', '绿色', '蓝色', '紫色']
5 删除元素
-
5.1
del()
如果知道要删除的元素在列表中的位置,那么可以使用 del():
|
del colors[ 0 ] print (colors) |
运行结果:
['绿色', '蓝色', '紫色']
-
5.2
pop()
把列表想象成一个栈。pop()
方法会弹出栈顶元素(即列表末尾最后一个元素),并返回这个元素。
|
print ( '执行前:' + str (colors)) poped_color = colors.pop() print ( '栈顶元素:' + poped_color) print ( '执行后:' + str (colors)) |
运行结果:
执行前:['绿色', '蓝色', '紫色']
栈顶元素:紫色
执行后:['绿色', '蓝色']
只要指定好要删除的元素索引,pop()
也可以用来删除列表中任何位置的元素:
|
print ( '执行前:' + str (colors)) poped_color = colors.pop( 0 ) print ( '删除的元素:' + poped_color) print ( '执行后:' + str (colors)) |
运行结果:
执行前:['绿色', '蓝色']
删除的元素:绿色
执行后:['蓝色']
-
5.3 比较
del()
与pop()
del()
:从列表中删除一个元素, 且不再使用它。
pop()
:从列表中删除一个元素, 且还需要使用它。
-
5.4 根据值删除
remove()
|
print ( '执行前:' + str (colors)) colors.remove( '蓝色' ) print ( '执行后:' + str (colors)) |
运行结果:
执行前:['蓝色']
执行后:[]
**注意:**remove()
只会删除第一个指定的值。 如果需要删除多个指定的值, 那么就需要使用循环咯O(∩_∩)O~
6 排序
-
6.1 永久性排序
sort()
|
types = [ 'sport' , 'travel' , 'business' ] types.sort() print ( "按字母顺序正序排序后:" + str (types)); types.sort(reverse = True ) print ( "按字母顺序逆序排序后:" + str (types)); |
运行结果:
按字母顺序正序排序后:['business', 'sport', 'travel']
按字母顺序逆序排序后:['travel', 'sport', 'business']
sort()
会永久性(再也恢复不回去咯)地改变列表元素的排列顺序(按字母顺序)。如果需要对中文的拼音进行排序,需要引入第三方库。
为 sort()
方法传递参数 reverse=True,就可以按照字母顺序逆序的规则来排列元素。
-
6.2 临时排序
sorted()
函数sorted()
可以保留列表元素原有的排列顺序, 同时返回排序后的列表。
|
types = [ 'sport' , 'travel' , 'business' ] print ( "排序后:" + str ( sorted (types))); print ( "原列表:" + str (types)); print ( "按字母顺序逆序排序后:" + str ( sorted (types,reverse = True ))); |
运行结果:
排序后:['business', 'sport', 'travel']
原列表:['sport', 'travel', 'business']
按字母顺序逆序排序后:['travel', 'sport', 'business']
**注意:**调用函数 sorted() 后, 原有列表的元素排列顺序没有被改变,所以叫临时排序。
sorted()
函数也支持参数 reverse=True,按照字母顺序逆序的规则来排列元素。
-
6.3 倒序
reverse()
reverse()
会反转列表原有元素的排列顺序。
|
types = [ '娱乐' , '体育' , '科技' ] print ( '倒序前:' + str (types)) types.reverse() print ( '倒序后:' + str (types)) |
运行结果:
倒序前:['娱乐', '体育', '科技']
倒序后:['科技', '体育', '娱乐']
7 列表长度 len()
|
types = [ '娱乐' , '体育' , '科技' ] print ( len (types)) |
运行结果:
3
8 索引错误
发生索引错误时, 建议将列表或长度打印出来,通过查看这些内容, 可以帮助我们找出错误引发的原因哦O(∩_∩)O~
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/deniro_li/article/details/86770917