列表的增删改查和嵌套, 元组, range

一. 列表
列表内元素可增删改查

  lst = ['手机', '电脑', '内存', '地板除', '次幂', ['Python', 'Java', 'C#']]
切片
  print(lst[2:5])
  print(lst[-1])
  print(lst[5][1][2])
  print(lst[0:5:2])


  print(lst.append("English"))
  print(lst.insert(3,"IELTS"))
  print(lst.extend("GPA"))
  print(lst.extend(["GPA"]))
  extend是迭代添加, 添加整个字符串需要用extend(列表), 不能添加数字和bool值


  data = lst.pop(2)
  print(data)
  list.remove("手机") 如果不存在会报错
  del lst[2:4]
  lst.clear()


  lst[0] = "时间戳"
  lst[1:4:2] = ["哈希", "内存"] 必须和去掉的同样多,不然会报错



  for el in lst:
   print(el)

嵌套
  lst[5][0] = "Go"
  lst[5][0] = lst[5][0].upper()

翻转
  lst.reverse() 翻转
  lst.sort(reverse=True) 按大小排序,并翻转


二. 元组
元组不可改变, 但元组内的列表的元素可以改
tu = (1, )
tu = tuple()

元组可查询, 循环(遍历), 切片
  tu = (1, 2, '手机', "电脑", "内存", [1, "电脑"])
  print(tu[1:5:2])
  tu[5].append("内存")
  print(tu)
 
a =[1, "电脑"]
tu = (1, 2, '手机', "电脑", "内存", a)
tu[5] = [1, "电脑"]
# 这样会报错
# tu[5]用的是的指向列表[1, "电脑"]的内存指向, 只要不改变内存指向就不会报错 
a = [1,2,3,4,5] 
print(tu) # (1, 2, '手机', '电脑', '内存', [1, '电脑']) 
# tu[5]用的是指向[1, "电脑"]内存地址的指向, 重新定义了a, a的内存指向改变了, 但是tu[5]的内存指向没改变

  

三. range
  for i in range(10):
    print(i)
  for i in range(10, 1, -2):
    print(i)
  for i in range(len(lst)):
    print(lst[i])
 
posted @ 2018-07-31 19:52  NachoLau  阅读(222)  评论(0编辑  收藏  举报