zoukankan      html  css  js  c++  java
  • 列表类型以及列表的创建、查询、切片、增加、修改、删除、循环、排序、其它用法

                                                          列表类型

    • 如何通过一个变量存储公司所有员工的名字?

          可以使用“ names = “shanshan longling alex” ”来进行存储,但是却无法查询和修改name的值。

    • 创建列表

    1 #方法一
    2 names1 = []        #定义一个空列表
    3 names2 = ['a','b','c'] #存储4个值,索引为0~3
    4 names3 = ['ab',['cd','ef']]#嵌套列表
    5 #方法二 
    6 list() names = list() print(names)
    • 查询列表

    1 L2 = ['a','b','c','d','a','e',1,2]     #定义一个列表
    2 print(L2[2])         #通过索引取值
    3 print(L2[-1])        #通过索引从列表右边开始取值
    4 print(L2.index('a'))       #返回指定元素的索引值,从左向右查找,找到第一个匹配值,则返回
    5 print(L2.count('a'))       #统计指定元素的个数
    •  列表的切片

     1  L1 = ['Shanshan','Longting','Alex',1,3,4,4,5,6,7,8,8,9,9,0,0,2,3,4,4]
     2  print(L1[0-2])          #0-2 为 -2,等于 print[L3[-2]]
     3  print(L1[0-3])          #0-3 为 -3,等于 print[L3[-3]]
     4  print(L1[0:3])          #取前三个   结果为:['Shanshan', 'Longting', 'Alex']    顾头不顾尾
     5  print(L1[3:8])          #取中间五个 结果为:[1, 3, 4, 4, 5]             顾头不顾尾
     6  print(L1[-1:-5])        #结果为:[]       因为切片的原则是:只能从左到右进行切分
     7  print(L1[-5:-1])        #结果为:[0, 2, 3, 4]      顾头不顾尾
     8  print(L1[-5:0])         #结果为:[]
     9  print(L1[-5:])          #取后面五个     结果为:[0, 2, 3, 4, 4]
    10  print(L1[0:3])          #结果为:['Shanshan', 'Longting', 'Alex']
    11  print(L1[:3])           #结果为:['Shanshan', 'Longting', 'Alex']   与上面相同
    12  print(L1[:])            #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4,4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    13  print(L1[:7])           #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4]
    14  print(L1[0:7:2])        #结果为:['Shanshan', 'Alex', 3, 4]     步长,排除了'Longting' , 1 ,3 ,  4
    15  print(L1[:7:1])         #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4]
    16  print(L1[:-1:3])        #结果为:['Shanshan', 1, 4, 7, 9, 0, 4]      跳三个
    17  print(L1[:-1:4])        #结果为:['Shanshan', 3, 6, 9, 2]       跳四个
    18  print(L1[:])            #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    19  print(L1[::2])          #结果为:['Shanshan', 'Alex', 3, 4, 6, 8, 9, 0, 2, 4]        跳两个
    • 列表的增加及修改

     1 #插入
     2 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
     3 print(L1)               #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
     4 L1.insert(0,'abc')     #是根据索引值,来插入数据
     5 print(L1)               #结果为:['abc', 'Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
     6 L1.insert(2,'def')
     7 print(L1)               #结果为:['abc', 'Shanshan', 'def', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
     8 
     9 #追加
    10 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    11 L1.append('Wuqianqian')     #只能插入到结尾,结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4, 'Wuqianqian']
    12 
    13 
    14 #根据索引值修改
    15 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    16 print(L1[3])
    17 L1[3] = "龙婷"                 #重新赋值
    18 print(L1)                      #结果为:['abc', 'Shanshan', 'Alex', '龙婷', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    19 
    20 #根据索引值的范围修改
    21 print(L1[4:6])                 #批量修改
    22 L1[4:6] = "JACK LIU"         #注意中间有空格
    23 print(L1)                      #结果为:['abc', 'Shanshan', 'Alex', '龙婷', 'J', 'A', 'C', 'K', ' ', 'L', 'I', 'U', 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    •  列表的删除

    1 #删除指定元素
    2 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    3 L1.remove('Longting')
    4 print(L1)                  #结果为:['Shanshan', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4# , 4]
    5 
    6 #删除多个元素
    7 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    8 del L1[2:6]
    9 print(L1)                  #结果为:['Shanshan', 'Longting', 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
    • 列表的循环

       1 #for循环
       2 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
       3 for i in L1:
       4     print(i)
       5 
       6 #range(10),生成一个0-10的列表,Python3.x与Python2.x不同
       7 for i in range(10):
       8     print(i)
       9 
      10 
      11 #for循环与while循环的区别:while循环可以是死循环,但for循环有边界,是不会出现死循环的。
    • 列表的排序及其他用法

     

     1 L2 = ['a','e','b',1,34,2,'c']
     2 #使用sort方法来排序
     3 #L2.sort()            #结果为:Traceback (most recent call last):line 2, in <module>L2.sort()TypeError: '<' not supported between instances of 'int' and 'str'  int和str没有关系,所以无法排序。
     4 
     5 #删除指定元素
     6 L2.remove(1)
     7 L2.remove(34)
     8 L2.remove(2)
     9 
    10 #追加列表
    11 L2.append('z')
    12 
    13 #增加索引值
    14 L2.insert(1,'y')
    15 L2.insert(3,'A')
    16 
    17 #使用sort方法来排序
    18 L2.sort()
    19 
    20 #增加索引值
    21 L2.insert(3,'#')
    22 L2.insert(3,'*')
    23 L2.insert(3,'!')
    24 
    25 #使用sort方法来排序
    26 L2.sort()
    27 
    28 #print(L2)        #然后发现排序规则是按照列表中元素的位于ASCII码表中的位置进行排列显示的。
    29 
    30 
    31 #列表的反转
    32 L2.reverse()
    33 print(L2)
    34 
    35 #新建一个列表
    36 L3 = [1,2,4]
    37 print(L3)
    38 
    39 print(L2+L3)
    40 
    41 #列表的拓展方法
    42 L2.extend(L3)
    43 print(L2)
    44 
    45 #copy列表
    46 L4 = L2.copy()
    47 print(L4)
    48 
    49 #清空列表,它与删除操作不相同,清空列表是对内容级别进行操作,删除是列表级别操作。
    50 L2.clear()
    51 print(L2)
    
    
  • 相关阅读:
    理解 Go interface 的 5 个关键点
    volcano networkpolicy
    通过 iptables log 日志追踪 Kubernetes 网络
    Network Policy Enforcement
    calico 容器编排之Kubernetes多租户网络隔离
    Kubernetes的原生多租户解决方案
    第四章 计算机基础知识详解
    vue兄弟组件通信
    vue父子组件通信
    Safari浏览器css兼容
  • 原文地址:https://www.cnblogs.com/wqq0723/p/9519657.html
Copyright © 2011-2022 走看看