为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 python-列表方法(遍历,增删查改和排序)

python-列表方法(遍历,增删查改和排序)

2019.01.19 17:17 2306浏览

一、创建列表

    lst = [1, 2.34, 'hello', False]
    # 查看列表中的数据
    print(lst)
    # 查看列表的数据类型
    print(type(lst))  # <class 'list'>

查看数据类型的函数(type)

显示结果如下:
 
二.遍历列表

列表是有序的,我们可以用之前学过的for循环遍历它,然后输出列表中的每一个值。

    j=['hello',1,2,3]
    for i in lst:
        print(i)

输出结果如下:

https://img4.sycdn.imooc.com/5c42e9340001c41801400102.jpg

三.列表的增删查改

1.列表的增
(1)append  追加

在列表后面追加元素。

    lst = ['悟空', '八戒', '唐三藏']
     
    lst.append('白骨精')  # 将数据追加到列表的后面
    print(lst)

因为是在列表的末尾增加,所以增加的内容肯定在最末尾!

输出如下:
https://img1.sycdn.imooc.com/5c42e9480001575f03810157.jpg
(2)insert 插入

可以在列表的任意位置插入类型。

分为:正插

    lst = ['悟空', '八戒', '唐三藏']
     
    lst.insert(1, '白龙马')  # 指定索引位置添加元素。
    print(lst)

悟空的下标是0,因为我们插入的位置是1,所以就插在悟空的后面。

倒插

如果我们的列表需要在后边插入等,我们可以使insert的第一个位置值变成负数,注意,倒插的起始值是-1

    lst = ['悟空', '八戒', '唐三藏']
     
    lst.insert(-1, '白龙马')  # 指定索引位置添加元素。
    print(lst)

输出结果如下:
https://img4.sycdn.imooc.com/5c42e9ac0001472505490150.jpg(3)+号

没错,就是+,它的作用和在字符串中是一样的连接两个列表的尾和首

    lst = ['悟空', '八戒', '唐三藏']
     
    lst2 = ['宋江', '李逵', '悟空']
     
    lst3 = lst + lst2  # 列表之间可以相加,将所有的内容放到一个新的列表中,并且不会自动去重
    print(lst3)

lst我们放在前面,而lst2放在后面,所以合并的内容lst在前

结果如下:
https://img1.sycdn.imooc.com/5c42e9b70001994704630098.jpg 
(4)extend继承      (内容必须是可迭代的!)

其实如果是两个列表合并用+号完全没有问题,extend的功能和+一样的。

但是,当我们想要合并一个列表,和一个不是列表但是可迭代的数据类型时,我们就需要用到它,结果返回一个列表

    lst = ['悟空', '八戒', '唐三藏']
    lst.extend((1,2,3))
    print(lst)

由上图可知,我们合并的是一个列表,还有一个元组(是可迭代的),python会把元组中的每一个数都拿出来,然后放在列表中。然后得到一个新的列表。

结果如下:

https://img3.sycdn.imooc.com/5c42e9d40001b06005410083.jpg

2.列表的删

(1)pop() 弹出

关于这个函数,如果我们不在括号中增加内容,它会默认弹出列表的最后一个值并返回。

如果在括号中增加内容的话,就会弹出内容的值并返回

如果没有找到就会报错

1.我们括号中添加位置。

    lst = ['悟空', '八戒', '唐三藏']
    lst.pop(0) # 指定索引删除数据,如果索引不存在则报错
    print(lst)

结果如下:弹出了第一个值

2.我们不在括号中添加内容

    lst = ['悟空', '八戒', '唐三藏']
    lst.pop() # 指定索引删除数据,如果索引不存在则报错
     
    print(lst)

它就会默认弹出最后一个

输出如下:

https://img1.sycdn.imooc.com/5c42e9f1000133cf04530103.jpg

(2)remove 移除


和pop的括号不一样,POP括号中需要添加的是位置(下标)

remove的括号中是添加需要移除的内容

    lst = ['悟空', '八戒', '唐三藏']
    lst.remove('八戒')  # 根据内容删除
    print(lst)

输出如下:

https://img2.sycdn.imooc.com/5c42eab500014f8a02330063.jpg


(3)clear清除

clear的功能十分简单,把一个有内容的列表变成空的列表

     
    lst = ['悟空', '八戒', '唐三藏']
     
    lst.clear()  # 清除所有内容,变成空列表[]
    print(lst)

注意:clear的括号里面不能有任何内容的!

输出如下:

https://img1.sycdn.imooc.com/5c42ea9500017c2301570051.jpg


啥都没了

(4)del删除

这个比clear更狠!clear是删除列表里面的内容,留下一个空列表,del是直接全部删除,属于毁尸灭迹级别的

    lst = ['悟空', '八戒', '唐三藏']
    del lst  # 删除列表
    print(lst)

因为直接全部给你删除了,所以你在查找它,系统就会找不到。

3.列表的修改和查找
(1)列表的修改-索引

使用索引即可修改

    lst = ['悟空', '八戒', '唐三藏']
    lst[0] = '猴哥'  # 通过索引来修改内容
    print(lst)

修改后的列表显示如下

https://img2.sycdn.imooc.com/5c42ea840001b7a107770147.jpg


 
(2)index()-查找

和之前的字符串是一样的,找到会返回下标,如果没有找到会报错!

    lst = ['悟空', '八戒', '唐三藏', '悟空']
    index = lst.index('悟空')  # 根据内容返回索引值
    print(index)

显示结果如下:

https://img1.sycdn.imooc.com/5c42ea770001696f00950035.jpg


(3)count()-计数

    lst = ['悟空', '八戒', '唐三藏', '悟空']
    a = lst.count('悟空')
    print(a)

结果显示如下:

https://img1.sycdn.imooc.com/5c42ea6a0001a12902330117.jpg


(4)切片

有时候,当我们需要列表中的一部分时,和字符串的方法一样,我们可以使用切片来实现。

格式:列表[起始:结尾(取不到):步长]

    lst = ['a', 'b', 'c', 'd', 'e']
    ret = lst[0:4:2]
    print(ret)
    print(lst)

结果如下:

https://img1.sycdn.imooc.com/5c42ea5d0001dd1003400070.jpg


4.列表的排序

排序规则:按照列表中的元素的Ascll码进行排序。详细可查询ASCLL码表
(1)sort 正序

    lst = ['tom', 'jerry', 'carl', 'zs', 'ls']
    print(lst)
    lst.sort()  # 升序排序
    print(lst)

结果如下:

https://img3.sycdn.imooc.com/5c42ea4f0001077d04280081.jpg


(2)reverse 降序,翻转

下面是降序:(按照ascll码从大到小排列)

    lst = ['tom', 'jerry', 'carl', 'zs', 'ls']
     
    lst.sort(reverse=True)  # 降序排序
    print(lst)

结果如下

https://img3.sycdn.imooc.com/5c42ea420001e72504460067.jpg

翻转,把列表翻转过来,从头到尾排


    lst = ['tom', 'jerry', 'carl', 'zs', 'ls']
    print(lst)
    ret = lst.reverse()
    print(lst)

结果如下:
https://img4.sycdn.imooc.com/5c42ea390001b69c03710051.jpg
---------------------

原文作者:staryer-chen

原文链接:https://blog.csdn.net/weixin_44239343/article/details/85865486


点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
46
获赞与收藏
150

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消