列表,元组以及range

匿名 (未验证) 提交于 2019-12-02 22:51:30

列表是数据类型之一,它有序,可变,支持索引

作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等

# 定义一个列表 lst = ['alex',123,True,'列表']      用逗号分隔的是一个元素  #print(id(lst[0]))      --   获取元素的内存地址
lst = ['alex',123,'wusir',456]  # 追加 : 在列表的最后一个位置添加一个内容 lst.append('000') print(lst)     #['alex',123,'wusir',456,'000']  # 插入 :尽量不要使用(当数据量比较大的时候会影响效率) lst.insert(1,'000') print(lst)   #['alex','000',123,'wusir',456]  #迭代添加   ("可迭代对象") lst.extend('000') print(lst)  #['alex',123,'wusir','0','0','0'] 

2.ɾ

lst = ['alex',123,'wusir',456]  # 弹   默认删除最后一个;有返回值,返回的是被删除的元素;可通过指定索引进        行删除 lst.pop(2) print(lst)   #['alex',123,456]  # 移除  通过元素名字进行删除 lst.remove('wusir') print(lst)  #['alex',123,456]  # del del lst[2]      -- 通过索引删除 print(lst)  #['alex',123,456] del lst[0:3]    -- 通过切片删除 print(lst)  #[456] del lst[0:3:2]  -- 通过步长删除 print(lst)  #[123,456]  #清空 --清空列表 lst.clear() print(lst)  #[]       
lst = ['alex',123,'wusir',456]  # 通过索引修改 lst[2] = "太白" print(lst)    #['alex',123,'太白',456]  # 通过切片修改(迭代,新的元素可以超出切片的位数) lst[0:3] = "太白金星" print(lst)    #['太','白','金','星',456]  # 通过步长修改(迭代,新的元素和位置必须一一对应) lst[0:3:2] = "太白" print(lst)    #['太',123,'白',456]
lst = ['alex',123,'wusir',456]  使用for循环进行查找 for i in lst:     print(i)      #alex                    123                    wusir                    456 通过索引查找 print(lst[1])    #123
# 通过索引取值  lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]  找到wusir print(lst[2])  找到太白和wusir print(lst[1:3])  找到可口可乐 print(lst[-1][-2][0])  找到太白的白字 print(lst[1][-1])  

元组是有序的,不可变,支持索引,是一个不可变的列表

作用:用于存储一些比较重要的信息,在配置文件时会使用.

s = ('abc',123,'alex',456)  元组不能增删改,可以查(使用for循环)
print(list(range(0,10)))  #[0,1,2,3,4,5,6,7,8,9]                           # 顾头不顾尾 range(起始位置,终止位置) range(终止位置) range(起始位置,终止位置,步长)   for和range配合使用 例:打印100~1 for i in range(100,0,-1)     print(i)   打印1~100所有偶数 for i in range(0,101,2)     print(i)      让用户输入三次姓名然后用列表打印出来 # while循环 lst = [] a = True while a:     name = input("请输入姓名:")     lst.append(name)     if len(lst) == 3:         a = False print(lst)  #for循环 lst=[] for i in range(3):     lst.append(input('请输入姓名:')) print(lst)  

python2和python3的区别

  • python2的range是返回一个列表(xrange和python3中的range是相似的)
  • python3的range是一个可迭代对象,写的是怎样打印的时候就是怎样

ps:

面试题:      lst = [] for i in lst:     lst.append('alex")     print(lst)               #不会打印内容(lst是空的)                 lst = [1,2] for i in lst:     lst.append('alex')     print(lst)             #循环打印lst中的内容(死循环)                 lst = [1,2] for i in lst:     lst.append('alex') print(lst)                  #死循环(不会打印内容)                 lst = [] for i in range(5):     lst.append([]) print(lst)                 #[[],[],[],[],[]]  lst = [1,2] lst[0] = lst print(lst)                   #[[...],2] 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!