开挂的列表与矜持的元组

一,列表

  1. 可以有序的存储大量数据,用以[ ]括起来,每个元素⽤' , '隔开⽽且可以存放各种数据类型。

  2. 列表时可变的,即可以在本身上进行修改。

  3. 列表的索引和切片

    • 列表和字符串一样是有索引的,也是可迭代的

      li = [1,2,3,"123",True]
      print(li)
      print(li[-2],type(li[-2]))  # 索引查找
      print(li[1:4])              # 支持切片   切片所得是列表
      print(li[-2:1:-1])          # 支持步长
      
  4. 列表的增删改查

    • 注意, list和str是不⼀样的. lst可以发⽣改变. 所以直接就在原来的对象上进⾏了操作

    • li.append("4")     # 追加,在末尾添加一个元素
      li.extend([5,6])   # 扩展,迭代添加."10" => "1","2"
      li.insert(0,"A")   # 按索引位置插入一个元素,效率特别低
      
      li2 = [4,5,6]
      li3 = li + li2     # 列表合并
      
    • lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
      deleted = lst.pop() # 弹出,可以指定索引位置,默认弹出最后一个元素,有返回值,返回的是弹出的元素
      el = lst.pop(2) # 删除2号元素
      lst.remove("麻花藤") # 删除指定元素,必须知道元素的内容
      lst.remove("哈哈") # 删除不存在的元素会报错
      lst.clear() # 清空list,清除列表内全部的信息,得到一个空列表
      del lst[2]   # 删除特定索引位置的元素
      del lst[1:3] # 删除特定索引范围内的元素,也可以改变步长
      
    • li = [1,2,3,"123",True]
      li[0] = "1"         # 指定位置修改
      li[1:3] = [9,8,7]   # 迭代修改,支持切片修改
                          # 使用步长时注意取几个必须放几个,步长为1时则不需要注意个数。
      
    • li = [1,2,3,"123",True]
      print(li[1])   # 指定索引位置查询
      
      for each in li:
      	print(each
      # 列表是⼀个可迭代对象, 所以可以进⾏for循环
      
      
  5. 列表的嵌套

    采用降维操作,一层一层的看

    li = [1,2,3,"123",[9,8,7]]
    li[-1][0] => 9
    

二,元组

  1. 俗称不可变的列表。⼜被成为只读列表,,元组也是python的基本数据类型之⼀,⽤⼩括号括起来,⾥⾯可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能改。

    tu = (1,2,3,"123",[1,2,3])
    for each in tu:
    	print(each)  # 元组也是可以迭代的,可以用for循环遍历
    
    tu = (1,)   # 注意,如果元组中只有一个元素,一定要在后面添加一个逗号,否则就不是元组
    tu = () 
    tu = tuple() # 创建空元组
    
    • 关于不可变, 注意: 这⾥元组的不可变的意思是⼦元素不可变。⽽⼦元素内部的⼦元素是可以变,这取决于⼦元素是否是可变对象。
    • 元组也有count(), index(), len()等⽅法
  2. 元组的嵌套

    • 参照列表的嵌套
原文地址:https://www.cnblogs.com/zyyhxbs/p/10986100.html