zoukankan      html  css  js  c++  java
  • 列表的语法和使用

      1 列表的语法和使用  2 语法:中括号表示列表,小括号表示的是元组,元组是只读的
      3
      4 列表的基本操作:
      5 name.insert  插入
      6 name.append  追加
      7 name.remove  删除
      8 name.count   计数
      9 name.clear   清空
     10 name.index   查找
     11 name.extend  扩展
     12 name.reverse 颠倒
     13 name.sort    排序
     14 name.copy    复制
     15 len()        长度
     16 
     17 
     18 age = 20
     19 name = ["zjh","zl","zxc",12,age]  列表语法:以中括号开始和结束,中间的每一个值叫元素,列表里可以存变量。
     20 print name
     21 ['zjh', 'zl', 'zxc', 12, 20]
     22 name[1]                              从列表取值:起始位置(索引值)是从0开始,所以1是'zl'          
     23 'zl'
     24 name[-1] 取出列表中最后一个值是-1,以此类推
     25 '20'
     26 name[0:2]    列表中取一部分值
     27 ['zjh', 'zl']
     28 name[-3:]     取最后的3个值,最后一个默认不写
     29 name[:3]     取最前的3个值
     30 
     31 >>> name                                切片:可以在取出的值中继续取值
     32 ['zjh', 'zzx', 'zxc', 20, 20]
     33 >>> name[:5]
     34 ['zjh', 'zzx', 'zxc', 20, 20]
     35 >>> name[:5][2:4]
     36 ['zxc', 20]
     37 >>> name[:5][2:4][0][1]
     38 'x'
     39 
     40 >>> name                                改值:改值操作
     41 ['zjh', 'zzx', 'zxc', 20, 20]
     42 >>> name[1] = 'zzz'                        
     43 >>> name
     44 ['zjh', 'zzz', 'zxc', 20, 20]
     45 >>> 
     46 
     47 >>> name                                插入:在zzz后面插入zhangjianghua,所以要插入的下标是2,用name.insert插入,一次只能插入一个值
     48 ['zjh', 'zzz', 'zxc', 20, 20]
     49 >>> name.insert(2,"zhangjianghua")
     50 >>> name
     51 ['zjh', 'zzz', 'zhangjianghua', 'zxc', 20, 20]
     52 >>> 
     53 
     54 >>> name                                追加:直接在列表的最后面追加一个值,直接用append追加
     55 ['zjh', 'zzz', 'zhangjianghua', 'zxc', 20, 20]
     56 >>> name.append('zhangliang')
     57 >>> name
     58 ['zjh', 'zzz', 'zhangjianghua', 'zxc', 20, 20, 'zhangliang']
     59 >>> 
     60 
     61 >>> name                                删除:用name.remove(xxx) 直接删除 
     62 ['zjh', 'zzz', 'zhangjianghua', 'zxc', 20, 20, 'zhangliang']
     63 >>> name.remove("zxc")
     64 >>> name
     65 ['zjh', 'zzz', 'zhangjianghua', 20, 20, 'zhangliang']
     66 >>> 
     67 
     68 del name        del不用加括号,直接删除一个列表;del是python中的全局功能,删除内存中的一个数据,能删除任何东西。
     69 del name[2:4]   
     70 
     71 >>> name                                修改:给其中一个值添加备注
     72 ['zjh', 'zzz', 'zhangjianghua', 20, 20, 'zhangliang']
     73 >>> name[2] = "zhangjianghua(didi)"
     74 >>> name
     75 ['zjh', 'zzz', 'zhangjianghua(didi)', 20, 20, 'zhangliang']
     76 >>> 
     77 
     78 >>> name                                步长:默认是走一格,可以定义它走多长。
     79 ['zjh', 'zzz', 'zhangjianghua(didi)', 20, 20, 'zhangliang']
     80 >>> name[0:-1:1]
     81 ['zjh', 'zzz', 'zhangjianghua(didi)', 20, 20]
     82 >>> name[0::1]
     83 ['zjh', 'zzz', 'zhangjianghua(didi)', 20, 20, 'zhangliang']
     84 >>> name[::2]
     85 ['zjh', 'zhangjianghua(didi)', 20]
     86 >>> 
     87 
     88 >>> name                                判断:判断列表里是否存在一个元素
     89 ['zjh', 'zzz', 'zhangjianghua(didi)', 20, 20, 'zhangliang']
     90 >>> print(9 in name)
     91 False
     92 >>> print(20 in name)
     93 True
     94 >>> 
     95 
     96 name = ["zz","xx","cc",22,11,33,44,55,66,66,8,8,4,9,8,8,8,8,8]        判断:name.count 判断一个列表中存在多少个8
     97 if 8 in name:
     98     num_of_element = name.count(8)                                        
     99     print("[%s] 8 is in name" % num_of_element)
    100 执行结果:    
    101 [7] 8 is in name
    102 
    103 
    104 name = ["zz","xx","cc",22,11,33,44,55,66,66,8,8,4,9,8,8,8,8,8]            判断并修改:name.index找出列表中所有的8,并且全部替换为88888.
    105 if 8 in name:
    106     num_of_ele = name.count(8)
    107     position_of_ele = name.index(8)
    108     print("[%s] 8 is in name,position: [%s]" % (num_of_ele,position_of_ele))
    109 for i in range(name.count(8)):
    110     ele_index = name.index(8)                
    111     name[ele_index] = 88888
    112 print (name)
    113 执行结果:
    114 [7] 8 is in name,position: [10]
    115 ['zz', 'xx', 'cc', 22, 11, 33, 44, 55, 66, 66, 88888, 88888, 4, 9, 88888, 88888, 88888, 88888, 88888]
    116 
    117 
    118 name = ["zz","xx","cc",22,11,33,44,55,66,66,8,8,4,9,8,8,8,8,8]            扩展:name.extend 扩展进来一个新的列表,新的列表依然存在
    119 name2 = ["gg","nn","mm","ee"]
    120 name.extend(name2)
    121 print (name)
    122 print (name2)
    123 执行结果:
    124 ['zz', 'xx', 'cc', 22, 11, 33, 44, 55, 66, 66, 8, 8, 4, 9, 8, 8, 8, 8, 8, 'gg', 'nn', 'mm', 'ee']
    125 ['gg', 'nn', 'mm', 'ee']
    126 
    127 
    128 name = ["zz","xx","cc",22,11,33,44,55,66,66,8,8,4,9,8,8,8,8,8]            颠倒:name.reverse 排序颠倒
    129 name2 = ["gg","nn","mm","ee"]
    130 name.extend(name2)
    131 print (name)
    132 name.reverse()
    133 print (name)
    134 执行结果:
    135 ['zz', 'xx', 'cc', 22, 11, 33, 44, 55, 66, 66, 8, 8, 4, 9, 8, 8, 8, 8, 8, 'gg', 'nn', 'mm', 'ee']
    136 ['ee', 'mm', 'nn', 'gg', 8, 8, 8, 8, 8, 9, 4, 8, 8, 66, 66, 55, 44, 33, 11, 22, 'cc', 'xx', 'zz']
    137 
    138 
    139 
    140 name = [55,33,22,11,45,1,31,31,5,15,689,43,1,2]                        排序:name.sort 按照从小到大顺序依次排列(python3里不支持数字和字符串同时排序,python2默认是数字在前,字符串在后)
    141 print (name)
    142 name.sort()
    143 print (name)
    144 执行结果:
    145 [55, 33, 22, 11, 45, 1, 31, 31, 5, 15, 689, 43, 1, 2]
    146 [1, 1, 2, 5, 11, 15, 22, 31, 31, 33, 43, 45, 55, 689]
    147 
    148 
    149 
    150 name = [55,33,22,11,45,1,31,31,5,15,689,43,1,2]                            删除:指定删除某一个,默认删除表里最后一个值
    151 print (name)
    152 name.pop(2)
    153 print (name)
    154 执行结果:
    155 name = [55,33,11,45,1,31,31,5,15,689,43,1,2]    
    156 
    157 
    158 name = [55,33,22,11,45,1,31,31,5,15,689,43,1,2,"zz"]                    复制:name.copy 复制一个独立、完整的列表
    159 print (name)
    160 name2 = name.copy()
    161 print (name2)
    162 name2[0] = 55555
    163 print (name,name2)
    164 执行结果:
    165 [55, 33, 22, 11, 45, 1, 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    166 [55, 33, 22, 11, 45, 1, 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    167 [55, 33, 22, 11, 45, 1, 31, 31, 5, 15, 689, 43, 1, 2, 'zz'] [55555, 33, 22, 11, 45, 1, 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    168 
    169 
    170 name = [55,33,[22,11,45,1],31,31,5,15,689,43,1,2,"zz"]
    171 print (name)
    172 name2 = name.copy()
    173 print (name2)
    174 print (name[2][1],name2[2][1]) 
    175 name[2][1] = 11111                                                    嵌套列表的copy:通过修改name表中嵌套的列表内的值,可以看出,python默认只copy第一层,嵌套列表里的值不copy;嵌套列表内的值和列表是储存在同一个内存块里的。
    176 print (name,name2)                                                        
    177 执行结果:
    178 [55, 33, [22, 11, 45, 1], 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    179 [55, 33, [22, 11, 45, 1], 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    180 11 11
    181 [55, 33, [22, 11111, 45, 1], 31, 31, 5, 15, 689, 43, 1, 2, 'zz'] [55, 33, [22, 11111, 45, 1], 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    182 
    183 
    184 
    185 name = [55,33,[22,11,45,1],31,31,5,15,689,43,1,2,"zz"]                长度:len() 查看列表的长度
    186 print (name)
    187 print ("name  ",len(name))
    188 执行结果:
    189 [55, 33, [22, 11, 45, 1], 31, 31, 5, 15, 689, 43, 1, 2, 'zz']
    190 name   12
    191 
    192 print (type(name))                                          查看变量的类别
    193 执行结果:
    194 <class 'list'>                class:类别,list:列表
    195 
    196 
    197 
    198 
    199 基本操作:
    200 name.insert  插入
    201 name.append  追加
    202 name.remove  删除
    203 name.count   计数
    204 name.clear     清空
    205 name.index     查找
    206 name.extend     扩展
    207 name.reverse 颠倒
    208 name.sort     排序
    209 name.copy     复制
    210 len()         长度
    211 
    212 
    213 
    214 
    215 
    216 元组:(不可变列表)
    217 创建元组:
    218 name = ("zz","xx",12,21,321)                语法:中括号表示列表,小括号表示的是元组,元组是只读的
    219 print(type(name))
    220 执行结果:
    221 <class 'tuple'>                class:类别  tuple:元组
  • 相关阅读:
    时间已经到了再一次发了博客
    java排错
    毕业设计
    做生意这件事
    性能优化的原理和理解
    【Linux】-NO.87.Assembly.1.滴水逆向.1.001-【介绍】-
    【Java】NO.80.Note.1.Java.1.001-【Java 各种特性概念】
    【Common】NO.81.Note.1.Common.1.001-【各种英文符号的表示及念法】
    【UML】NO.55.EBook.8.UML.3.001-【UML和模式应用 第3版】
    【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素
  • 原文地址:https://www.cnblogs.com/zhangjianghua/p/8215396.html
Copyright © 2011-2022 走看看