• 5、python中的列表


     list是python内置的一种有序、可变的数据结构。

    一、如何创建一个list?

    示例:

    注意:

    list中的元素可以是任意的数据类型如字符串、数字、布尔值、None等,也可以是其他的数据结构如另外一个list,tuple,dict等。

    二、如何取出list中的元素?

    1、取一个元素,用列表索引。

    语法:list [ i ]。i 是索引位置。第一个元素索引值为0;i 也可以小于0,代表索引值从后往前取,如最后一个元素索引值为-1,倒数第二个为-2,如此类推。

    示例:

    2、取多个连续的元素,用列表切片。

    语法:list [ start : end : step ] 。

    start为开始切片的索引值;end为结束切片的索引值,这里切片取得的元素不包括索引为end的这个元素,即实际取得的元素是索引为start至end-1这些元素;step为切片的步距,默认step=1。

    列表切片分为正向切片与反向切片,

    正向切片:

    反向切片:

    这里有人会问,b = mylist[3:0]不是应该取出 [2,1,0]吗?其实这里跟step的取值有关。

    当正向切片时,step必须大于0;当反向切片时,step必须小于0。

    因为上面b = mylist[3:0]中的step默认为1,所以取出的是空列表。

    所以我们想b = mylist[3:0]能正确取出[2,1,0],只要把step设置成-1就可以了。

    由于这里start和end实际上是元素的索引值,所以这里start和end也可以是负数,只不过正向切片和反向切片也要遵守(当正向切片时,step必须大于0;当反向切片时,step必须小于0)这个规则就是了。所以step正负与索引值的正负无关,而与切片的方向有关。

    注1:若start和end是第一个或者最后一个元素的索引值,可省略。

    mylist[::-1]是常用的反转列表的方法。有人可能会问:为什么mylist[::-1]能够取得元素?不是说step必须与切片方向一致吗?

    其实这里mylist[:] = mylist[0:] = mylist[-1:],所以这里的mylist[::-1] = mylist[-1::-1]。

     注2:这里的列表索引与列表切片都是创建一个新的副本,而原列表不会发生变化。所以列表索引和列表切片必须要赋给一个新变量,否则新副本只会创建出来放在内存中而取不出来。

    三、list的常用方法。

    1、增:

    (1)追加:在列表的末尾增加一个元素。语法:mylist.append(新元素)。

    示例:

     (2)插入:在列表任意位置插入一个新元素。语法:mylsit.insert(i, 新元素),i是想把新元素插入的索引值。

    示例:

     

    2、删:

    (1)弹出:将列表里的任意一个元素弹出。语法:mylist.pop(i=-1),这里i的默认值为-1,即默认弹出最后一个元素。

    这里为什么叫弹出?因为一般的列表方法都没有返回值,而是直接在原列表上进行改动,而pop方法是有返回值的,返回值就是弹出的元素,可以把返回值赋给一个新的变量。

    示例:

    (2)移除:删除列表中的任意一个元素。语法:mylist.remove(列表元素)。

    弹出与移除比较:弹出参数为索引值而移除参数为列表元素;弹出有返回值而移除没有返回值。

    示例:

     3、扩展:将一个列表的元素全部加到另一个列表的末尾,即列表拼接。有点像append,但追加的是多个元素。语法:mylist.entend(another_list)。

    示例:

     4、排序:将列表中的元素按照顺序排列。语法:mylist.sort()

    示例1:

    示例2:

    注:数字与字符串不能排列!

     5、反转:将列表里面的顺序反转过来。语法:mylist.reverse()

    示例:

     四、list常用的内置函数。

    1、len(list):计算列表长度。

    2、sorted(list):列表排列,与mylist.sort()效果相同,唯一区别是sorted()是创建一个新的排列好的列表作为返回值。

     3、reversed(list):列表反转,同上sorted()同等道理。

    4、enumerate(list, start=0):枚举列表中的元素,返回一个tuple-enumerate对象。其中start参数控制枚举开始的序号,默认值为0.

    示例1:

    示例2:

     5、zip(list1, list2):将两个长度相同的列表中的每个元素两两压缩成一起。返回一个tuple-zip对象。

    示例:

     

    具体参考:

    1、《python核心编程(第二版)》:6.3 操作符;6.11 - 6.15 列表。

     2、CSDN,afterrains - Python列表切片用法示例

    --------本篇完!

  • 相关阅读:
    2020中国最好大学排名.py(亲测有效)
    手机号码归属地的自动查询.py(亲测有效)
    网络图片的爬取和存储.py(亲测有效)
    百度360搜索关键词提交.py(亲测有效)
    亚马逊商品页面爬取(使用headers字段).py(亲测有效)
    淘宝商品页面的爬取.py(亲测有效)
    爬取网页的通用代码框架.py(亲测有效)
    匿名函数function前面的! ~等符号作用小解
    ng之自定义指令
    用nodejs搭建一个简单的服务监听程序
  • 原文地址:https://www.cnblogs.com/lqxing1994/p/9182299.html
Copyright © 2020-2023  润新知