列表,元组以及range
程序员文章站
2024-01-26 20:58:22
列表,元组以及range 一.列表(list) 列表是数据类型之一,它有序,可变,支持索引 作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等 1.增 2.删 3.改 4.查 5.列表的嵌套 二.元组(tuple) 元组是有序的,不可变,支持索引,是一个不可变的列表 作用:用于存储一些 ......
列表,元组以及range
一.列表(list)
列表是数据类型之一,它有序,可变,支持索引
作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等
# 定义一个列表 lst = ['alex',123,true,'列表'] 用逗号分隔的是一个元素 #print(id(lst[0])) -- 获取元素的内存地址
1.增
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) #[]
3.改
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]
4.查
lst = ['alex',123,'wusir',456] 使用for循环进行查找 for i in lst: print(i) #alex 123 wusir 456 通过索引查找 print(lst[1]) #123
5.列表的嵌套
# 通过索引取值 lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']] 找到wusir print(lst[2]) 找到太白和wusir print(lst[1:3]) 找到可口可乐 print(lst[-1][-2][0]) 找到太白的白字 print(lst[1][-1])
二.元组(tuple)
元组是有序的,不可变,支持索引,是一个不可变的列表
作用:用于存储一些比较重要的信息,在配置文件时会使用.
s = ('abc',123,'alex',456) 元组不能增删改,可以查(使用for循环)
三.range(范围)
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]
上一篇: Django流程图(精简版)
下一篇: 小容量单片机生成pdf文件