当前位置:脚本大全 > > 正文

怎么对python中列表进行排序(Python列表常见操作详解获取,增加,删除,修改,排序等)

时间:2022-01-26 01:57:35类别:脚本大全

怎么对python中列表进行排序

Python列表常见操作详解获取,增加,删除,修改,排序等

本文实例讲述了Python列表常见操作。分享给大家供大家参考,具体如下:

列表是由一系列按特定顺序排列的元素组成的对象。因为列表通常包含多个元素, 所以建议给列表指定一个表示复数的名称。

我们用方括号( [] ) 来表示列表, 并用逗号来分隔其中的元素。

  • ?
  • 1
  • 2
  • types=['娱乐','体育','科技']
  • print(types)
  • 运行结果:

    ['娱乐', '体育', '科技']

    可以看到,打印列表的同时,也会将方括号打印出来。

    1 获取元素

    要获取列表中的某个元素, 在方括号内指定元素的索引即可:

  • ?
  • 1
  • print('第三个类型:'+types[2])
  • 运行结果:

    第三个类型:科技

    当我们请求获取列表元素时, 只会返回该元素本身。

    2 索引从 0 开始

    跟大多数编程语言相同,索引从 0 开始计数。因此,需要获取列表的任何元素, 都可将其位置减1, 作为索引。

    将索引指定为 -1,还可以获取最后一个列表元素,这样就可以在不知道列表长度的情况下,获取最后一个元素:

  • ?
  • 1
  • print('最后一个:'+types[-1])
  • 运行结果:

    最后一个:科技

    这种语法也适用于其他负数索引。索引 -2 获取倒数第二个列表元素, 索引 -3 获取倒数第三个列表元素, 以此类推。

  • ?
  • 1
  • print('倒数第二个:'+types[-2])
  • 运行结果:

    倒数第二个:体育

    3 新增元素

    append() 方法可以将元素附加到列表末尾:

  • ?
  • 1
  • 2
  • types.append('财经')
  • print(types)
  • 运行结果:

    ['娱乐', '体育', '科技', '财经']

    append() 方法很适合动态地创建列表。我们可以先创建一个空列表, 然后再使用一系列的append() 方法为列表添加元素。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • colors=[]
  • colors.append('绿色')
  • colors.append('蓝色')
  • colors.append('紫色')
  • print(colors)
  • 运行结果:

    ['绿色', '蓝色', '紫色']

    insert() 可以在列表的任意位置添加新元素。这个方法的入参是新元素的索引和值。

  • ?
  • 1
  • 2
  • colors.insert(0,'红色')
  • print(colors)
  • 运行结果:

  • ?
  • 1
  • ['红色', '绿色', '蓝色', '紫色']
  • 在这个示例中, 值 ' 红色' 被插入到了列表头,列表中既有的元素都右移了一个位置。

    4 修改元素

    修改列表元素的语法与获取列表元素的语法相似。我们可指定列表名、要修改的元素索引以及新值:

  • ?
  • 1
  • 2
  • colors[0]='白色'
  • print(colors)
  • 运行结果:

    ['白色', '绿色', '蓝色', '紫色']

    5 删除元素

    如果知道要删除的元素在列表中的位置,那么可以使用 del():

  • ?
  • 1
  • 2
  • del colors[0]
  • print(colors)
  • 运行结果:

    ['绿色', '蓝色', '紫色']

    把列表想象成一个栈。pop() 方法会弹出栈顶元素(即列表末尾最后一个元素),并返回这个元素。

  • ?
  • 1
  • 2
  • 3
  • 4
  • print('执行前:'+str(colors))
  • poped_color=colors.pop()
  • print('栈顶元素:'+poped_color)
  • print('执行后:'+str(colors))
  • 运行结果:

    执行前:['绿色', '蓝色', '紫色']
    栈顶元素:紫色
    执行后:['绿色', '蓝色']

    只要指定好要删除的元素索引,pop() 也可以用来删除列表中任何位置的元素:

  • ?
  • 1
  • 2
  • 3
  • 4
  • print('执行前:'+str(colors))
  • poped_color=colors.pop(0)
  • print('删除的元素:'+poped_color)
  • print('执行后:'+str(colors))
  • 运行结果:

    执行前:['绿色', '蓝色']
    删除的元素:绿色
    执行后:['蓝色']

    del() :从列表中删除一个元素, 且不再使用它。
    pop():从列表中删除一个元素, 且还需要使用它。

  • ?
  • 1
  • 2
  • 3
  • print('执行前:'+str(colors))
  • colors.remove('蓝色')
  • print('执行后:'+str(colors))
  • 运行结果:

    执行前:['蓝色']
    执行后:[]

    **注意:**remove() 只会删除第一个指定的值。 如果需要删除多个指定的值, 那么就需要使用循环咯O(∩_∩)O~

    6 排序

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 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,就可以按照字母顺序逆序的规则来排列元素。

    函数sorted() 可以保留列表元素原有的排列顺序, 同时返回排序后的列表。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 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,按照字母顺序逆序的规则来排列元素。

    reverse() 会反转列表原有元素的排列顺序。

  • ?
  • 1
  • 2
  • 3
  • 4
  • types=['娱乐','体育','科技']
  • print('倒序前:'+str(types))
  • types.reverse()
  • print('倒序后:'+str(types))
  • 运行结果:

    倒序前:['娱乐', '体育', '科技']
    倒序后:['科技', '体育', '娱乐']

    7 列表长度 len()

  • ?
  • 1
  • 2
  • types=['娱乐','体育','科技']
  • print(len(types))
  • 运行结果:

    3

    8 索引错误

    发生索引错误时, 建议将列表或长度打印出来,通过查看这些内容, 可以帮助我们找出错误引发的原因哦O(∩_∩)O~

    希望本文所述对大家Python程序设计有所帮助。

    原文链接:https://blog.csdn.net/deniro_li/article/details/86770917

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐