• Python_Day1_人人都爱列表


    列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或 所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。 鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如names)是个不错的主意。

    列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改变时。与字符串不同,列表是可变的。你可以直接对原始列表进行修改:添加新元素、删除 或覆盖已有元素。在列表中,具有相同值的元素允许出现多次。

    1.1常用列表方法

    #使用 dir(list) ,查看列表的内置方法:
    >>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

    1.1.1 append

    #向列表末尾追加一个元素
    >>> numbers = [1,2,2,3,3,3]
    >>> numbers.append(4)
    >>> numbers
    [1, 2, 2, 3, 3, 3, 4]

    1.1.2 clear

    #清除一个列表中的所有元素
    >>> n
    [1, 2, 3, 4, 5]
    
    >>> n.clear()
    
    >>> n
    []

    1.1.3 copy

    #复制一个列表
    >>> n = [1,2,3,4,5]
    
    >>> n.copy()
    [1, 2, 3, 4, 5]
    
    >>> n.copy()
    [1, 2, 3, 4, 5]
    
    >>> num = n.copy()
    
    >>> num
    [1, 2, 3, 4, 5]

    1.1.4 count

    #计算某个元素在列表中出现的次数
    >>> numbers
    [1, 2, 2, 3, 3, 3, 4]
    >>> numbers.count(1)
    1
    >>> numbers.count(2)
    2
    >>> numbers.count(3)
    3
    >>> numbers.count(4)
    1

    1.1.5 extend

    #直接向列表末尾一次性追加另一个列表
    >>> numbers
    [1, 2, 2, 3, 3, 3, 4]
    >>> a = [4,4,4]
    >>> numbers.extend(a)
    >>> numbers
    [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
    >>> a
    [4, 4, 4]

    1.1.6 insert

    #将对象插入列表中
    >>> numbers
    [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
    >>> numbers.insert(0,0)
    >>> numbers
    [0, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4]

    1.1.7 pop

    #移除列表中的最后一个元素,默认是最后一个
    >>> numbers
    [0, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
    >>> numbers.pop()
    4
    >>> numbers
    [0, 1, 2, 2, 3, 3, 3, 4, 4, 4]

    1.1.8 remove

    #默认移除列表中第一个匹配的元素
    >>> num
    [1, 2, 1, 3, 2]
    >>> num.remove(1)
    >>> num
    [2, 1, 3, 2]
    >>> num.remove(2)
    >>> num
    [1, 3, 2]

    1.1.9 reverse

    #将列表中的元素反向存放
    >>> numbers
    [0, 1, 2, 2, 3, 3, 3, 4, 4, 4]
    >>> numbers.reverse()
    >>> numbers
    [4, 4, 4, 3, 3, 3, 2, 2, 1, 0]

    1.1.10 sort

    #########################################################
    #对列表排序,这个我比较喜欢,里面挺多好玩的东西,下面做个简单的介绍#
    #########################################################
    
    #
    默认排序 >>> L = [1,4,3,2] >>> L.sort() >>> L [1, 2, 3, 4] #自定义排序 #咱们先看看sort的使用方法 >>> L.sort.__doc__ 'L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*' #根据提供的key函数为元素产生一个键,列表的元素按照这个键值来排序 >>> x = ['abc','a','bc','abcd'] >>> x.sort(key=len) >>> x ['a', 'bc', 'abc', 'abcd’] #反向排序 >>> n = [3, 1, 2, 5] >>> n.sort(reverse=True) >>> n [5, 3, 2, 1]

    1.2 其他的几个方法

    1.2.1 in

    #使用 in 判断值是否存在
    #判断一个值是否存在于给定的列表中的许多方式,其中最具有 Python 风格的是使用 in:
    >>> num = [1, 2, 3]
    >>> 1 in num
    True
    >>> 5 in num
    False
    >>>
    
    #同一个值可能出现在列表的多个位置,但只要至少出现一次,in就会返回Ture
    >>> num = [1, 1, 2, 3]
    >>> 1 in num
    True

    1.2.2 len()

    #使用 len()获取长度
    #len()可以返回列表长度
    >>> num = [1, 2, 3]
    >>> len(num)
    3
    
    #对于汉字呢?是如何计算长度呢?
    >>> num = "菜鹌鹑2333"
    >>> len(num)
    7
    #so,你get到了吗?

    1.2.3  “=” 和 “copy()”有啥不一样呢?

    # “=” 是赋值  copy()是复制
    #这个相信大家都知道,但是到底还有啥区别呢?往下看
    >>> a = [1, 2, 3]
    >>> a
    [1, 2, 3]
    >>> b = a
    >>> b
    [1, 2, 3]
    >>> a[0] = '菜鹌鹑'
    >>> a
    ['菜鹌鹑', 2, 3]
    >>> b
    ['菜鹌鹑', 2, 3]
    #和软链接有点像哦,让我们看看他们的内存地址:
    >>> hex(id(a))
    '0x1a93262c588'
    >>>
    >>> hex(id(b))
    '0x1a93262c588'
    #我们发现,两个变量指向同一个对象。
    
    #咱们再看看copy()
    >>> c = a.copy()
    >>> a
    [1, 2, 3]
    >>> c
    [1, 2, 3]
    >>> a[0] = '菜鹌鹑'
    >>> c
    [1, 2, 3]
    #没办法改变c列表了,再看看他们的内存地址
    >>> hex(id(a))
    '0x1a93262c588'
    >>> hex(id(c))
    '0x1a93262ce08'
    #原来copy()生成了新的列表,已经指向两个不同的对象。
    
    #除了copy(),还有其他方法生成新列表
    ########
    #list()#
    ########
    >>> a = [1,2,3]
    >>> b = list(a)
    >>> b
    [1, 2, 3]
    >>> hex(id(a))
    '0x2e78957c588'
    >>> hex(id(b))
    '0x2e78957cfc8'
    #########
    #列表切片#
    #########
    >>> a = [1,2,3]
    >>> c = a[:]
    >>> c
    [1, 2, 3]
    >>> hex(id(c))
    '0x2e78957c588'
    >>> hex(id(a))
    '0x2e78957ce08'
  • 相关阅读:
    瑞游天翼客户端win7,win8,win10
    js循环POST提交添加辅助单位
    服务器状态检测(1)
    快速切换天财商龙门店后台.VB6.0
    大批量删除农行点菜宝菜品品相和房间
    社会工程学
    你还会记得吗
    优酷爆个人数据漏洞
    win8删除无线网络其中的一项配置
    穿越火线修改成宽屏模式
  • 原文地址:https://www.cnblogs.com/quail2333/p/11247459.html
Copyright © 2020-2023  润新知