python - 列表,元组

一、列表
 
    定义:能装对象的对象
    在python中使用[] 来描述列表,内部元素用逗号隔开,对数据类型没有要求。
    列表存在索引和切片,和字符串的操做是同样的
 
二、列表相关的增删改查操做
    
      添加:
               一、append()  追加,在后面添加
                二、insert(位置,元素),效率相对较低 
                三、extend( )    迭代添加,把传递进去的参数进行迭代,把每一项添加到表的末尾(若是参数是字符串,将会把每一个字符当成一个元素迭代添加到列表中)
lst = ['qian','钱','money','doll']
lst.extend('冷暖自知')
lst.extend(['力量','盟友'])
print(lst)
#  ['qian', '钱', 'money', 'doll', '冷', '暖', '自', '知', '力量', '盟友']

  

  删除:
             一、pop() 默认从后往前删除   pop(索引) 根据索引删除
             二、remove(元素)  根据元素删除 ,当元素不存在时,会报错
             三、del  lst[start:end:step]   根据索引或者切片删除
             四、clear()   清空
  
   修改:
             一、索引修改
              二、ls[索引] =  元素
 
           注:报错:IndexError: list assignment index out of range   索引下标越界
 
   迭代更新
lst = ['大树','白云','小鸟','蝴蝶','蜜蜂']
lst[3:] = '小动物'
print(lst)
# ['大树', '白云', '小鸟', '小', '动', '物']

  切片更新python

lst = ['大叔','白云','小鸟','蝴蝶','蜜蜂','苍鹰']
lst[3:5] = ['星星']
print(lst)
# ['大叔', '白云', '小鸟', '星星', '苍鹰']

  

 若是步长不为1,元素的个数必需要和切片的个数一致否则会报错
ValueError: attempt to assign sequence of size 1 to extended slice of size 2
lst = ['大叔','白云','小鸟','蝴蝶','蜜蜂','苍鹰']
lst[1:4:2] = ['宇宙','黑洞']
print(lst)
# ['大叔', '宇宙', '小鸟', '黑洞', '蜜蜂', '苍鹰']

  

  查询:(列表是一个可迭代对象)
 
     for 循环
lst = ['大叔','白云','小鸟','蝴蝶','蜜蜂','苍鹰']

for item in lst:      # lst  是   item  中的每一项

  print(item)

  

for i in 123:
  print(i)

  报错:TypeError: 'int' object is not iterableapp

 

三、列表的嵌套
 
     多个列表互相嵌套(降维操做)
 
四、列表的其余操做
 
     一、count(xxx)   计数   查看xxx 元素出现的次数
     二、 sort()  排序(升序)   sort(reserve  =  True)  倒序
     三、reverse()  将列表元素翻转过来
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li.reverse()
print(li)
#  ['wenzhou', 'barry', 'ritian', 'WuSir', 'alex']

  

   四、len() 列表长度  查看列表中元素的个数
 
     查看list 的其余操做    list  按住ctrl +鼠标左键
 
五、元组
 
     能装对象的对象,不可变,一旦确认好,不可更改。  用()表示,只读列表
     注:
    tu = tuple()   #空元组  固定写法
    tu  = (1) 不是元组  print(type(tu))   # <class 'int'>
    tu  =  (1,)   元组中只有一个元素      #< class 'tuple'>
 
   好习惯:写元组的时候末尾加个逗号
   元组也是可迭代的 ,能够使用for循环
  
tu = ('规格','面积','大小',['正方形','圆形'])
tu[3].append('长方形')
print(tu)
# ('规格', '面积', '大小', ['正方形', '圆形', '长方形'])
# 元组没改,改的是元素内部,没有改变元组的指向,因此不报错

  

六、range  数数
    
     range(n)    [0,n)
     range(m,n)   [m,n)
     range(m,n,p)  [m,n)   每隔p取一个
lst = ['你是水','我是冰']
for i in range(len(lst)):
  print(i , lst[i])
# 0 你是水
# 1 我是冰
相关文章
相关标签/搜索