zoukankan      html  css  js  c++  java
  • 列表

    列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。

    1.创建list

    1 list1=[]
    2 print(list1)
    3 print(type(list1))

    返回:

    []
    <class 'list'>

    2.list的attribute

    图片上面的方法分别为:

    list.append()

    向list中添加元素;

     1 list1=[]
     2 
     3 list.append(list1,1)
     4 
     5 list1
     6 Out[3]: [1]
     7 
     8 list1.append('2')
     9 
    10 list1
    11 Out[5]: [1, '2']

    list.clear()

    清除列表内所有元素;

     1 list.clear(list1)
     2 
     3 list1
     4 Out[7]: []
     5 
     6 list1.append('a')
     7 
     8 list1
     9 Out[9]: ['a']
    10 
    11 list1.clear()
    12 
    13 list1
    14 Out[11]: []

    list.copy()

    浅拷贝list内的第一层的列表元素;

     1 list1=[1,2,[3,4]]
     2 
     3 list1
     4 Out[14]: [1, 2, [3, 4]]
     5 
     6 list2=list1.copy()
     7 
     8 list2
     9 Out[16]: [1, 2, [3, 4]]
    10 
    11 list1[0]=0
    12 
    13 list1
    14 Out[18]: [0, 2, [3, 4]]
    15 
    16 list2
    17 Out[19]: [1, 2, [3, 4]]
    18 
    19 #浅拷贝,list1发生变化时,list2不发生变化;
    20 
    21 list1[2][0]=['a']
    22 
    23 list1
    24 Out[22]: [0, 2, [['a'], 4]]
    25 
    26 list2
    27 Out[23]: [1, 2, [['a'], 4]]
    28 
    29 #浅拷贝,list1中的列表元素发生变化时,list2也发生变化;

    注意:想要实现深拷贝

     1 import copy 
     2 
     3 list3=copy.deepcopy(list1)  #copy.copy()还是浅拷贝
     4 
     5 list3
     6 Out[27]: [0, 2, [['a'], 4]]
     7 
     8 list1[2][0]=0
     9 
    10 list1
    11 Out[29]: [0, 2, [0, 4]]
    12 
    13 list3
    14 Out[30]: [0, 2, [['a'], 4]]

       

    list.count()

    列表内元素的计数:

    1 list1
    2 Out[37]: [0, 2, [0, 4]]
    3 
    4 list1.count(0) #等价list.count(list1,0)
    5 Out[38]: 1

    list.extend()

    列表的拓展:

     1 list1=[1,2]
     2 
     3 list2=[3,4]
     4 
     5 list1.extend(list2)
     6 
     7 list1
     8 Out[53]: [1, 2, 3, 4]
     9 
    10 list1.extend([5,6,7,[1,2]])
    11 
    12 list1
    13 Out[55]: [1, 2, 3, 4, 5, 6, 7, [1, 2]]

    list.index()

    列表的索引,通过值取下标:

    1 list1
    2 Out[56]: [1, 2, 3, 4, 5, 6, 7, [1, 2]]
    3 
    4 list1.index(1)
    5 Out[57]: 0
    6 
    7 list1.index([1,2])
    8 Out[58]: 7

    list.insert()

    列表中插入新元素,可以指定相应的下表:

    1 list1
    2 Out[59]: [1, 2, 3, 4, 5, 6, 7, [1, 2]]
    3 
    4 list1.insert(0,[1])
    5 
    6 list1
    7 Out[62]: [[1], 1, 2, 3, 4, 5, 6, 7, [1, 2]]

    list.mro()

    ???基本报错,并且在list1.attribute中没有该方法,但是在本文的截图中却有该方法。目前未找到相关文档,暂缓。

     1 list..mro(list1)
     2   File "<ipython-input-66-13590575fc0e>", line 1
     3     list..mro(list1)
     4          ^
     5 SyntaxError: invalid syntax
     6 
     7 
     8 list.mro(list1)
     9 Traceback (most recent call last):
    10 
    11   File "<ipython-input-67-4e06214a8533>", line 1, in <module>
    12     list.mro(list1)
    13 
    14 TypeError: mro() takes no arguments (1 given)
    15 
    16 
    17 list.mro()
    18 Out[68]: [list, object]
    19 
    20 list1.mro()
    21 Traceback (most recent call last):
    22 
    23   File "<ipython-input-69-52a1ac213b6a>", line 1, in <module>
    24     list1.mro()
    25 
    26 AttributeError: 'list' object has no attribute 'mro'

    list.pop()

    删除列表中的一个元素,默认值是删除最后一个元素:

    1 list1
    2 Out[72]: [[1], 1, 2, 3, 4, 5, 6, 7]
    3 
    4 list1.pop()  #等价list.pop(list1)
    5 Out[73]: 7
    6 
    7 list1
    8 Out[74]: [[1], 1, 2, 3, 4, 5, 6]

    如果想要实现删除指定位置的元素。可以通过指定索引下标的位置实现。

    1 list1
    2 Out[74]: [[1], 1, 2, 3, 4, 5, 6]
    3 
    4 list1.pop(0)
    5 Out[75]: [1]
    6 
    7 list1
    8 Out[76]: [1, 2, 3, 4, 5, 6]

    list.register()

    无该属性,报错。

     1 list1.register()
     2 Traceback (most recent call last):
     3 
     4   File "<ipython-input-77-2af250941f18>", line 1, in <module>
     5     list1.register()
     6 
     7 AttributeError: 'list' object has no attribute 'register'
     8 
     9 
    10 list.register()
    11 Traceback (most recent call last):
    12 
    13   File "<ipython-input-78-04aa76a73770>", line 1, in <module>
    14     list.register()
    15 
    16 AttributeError: type object 'list' has no attribute 'register'

    list.remove()

    移除列表中的元素:

    1 list1
    2 Out[80]: [1, 2, 3, 4, 5, 6]
    3 
    4 list1.remove(1)  #等价list.remove(list1,2)
    5 
    6 list1
    7 Out[82]: [2, 3, 4, 5, 6]

    list.reverse()

    列表中的元素反转:

    1 list1
    2 Out[84]: [3, 4, 5, 6]
    3 
    4 list1.reverse() #等价list.reverse(list1)
    5 
    6 list1
    7 Out[86]: [6, 5, 4, 3]

    list.sort()

    列表中的元素按照ascii码的顺序进行排序:

    1 list1
    2 Out[92]: ['!', '^', 'A', 'a']
    3 
    4 list1.sort()
    5 
    6 list1
    7 Out[94]: ['!', 'A', '^', 'a']

    3.删除列表

    1 del list1
    2 
    3 list1
    4 Traceback (most recent call last):
    5 
    6   File "<ipython-input-106-8304c57391a2>", line 1, in <module>
    7     list1
    8 
    9 NameError: name 'list1' is not defined
  • 相关阅读:
    Mac Outlook邮箱MicrosoftExchange邮箱快满了,请减小邮箱大小。
    SpringCloud Config Server中{application}等占位符使用场景设置默认拉去分支
    五四日记
    org.apache.ibatis.binding.BindingException: Mapper method 'attempted to return null from a method with a primitive return type (long).
    业务量剧增后服务器常见返回码总结
    Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头
    Mac下 Visual VM 无法检测到本地的Java进程
    高并发下hystrix熔断超时及concurrent.RejectedExecutionException: Rejected command because thread-pool queueSize is at rejection threshold问题
    Silly Java-Final 关键字
    qqwry.dat输出乱码问题及maven打包后资源文件大小不一致的问题
  • 原文地址:https://www.cnblogs.com/zoe233/p/6999824.html
Copyright © 2011-2022 走看看