列表、元组和range
小知识点
s = " 5 "
print(int(s))
print(s.replace(" ",""))
结果:
5
5
id()#获取对象内存地址
字符串是不可变数据类型
不管什么类型切片的时候获取的都是原数据类型
列表 —— list——容器
有序的,可变的,支持索引的
列表:存储数据,支持的数据类型很多,存字符串、数字、布尔值、列表、元组、字典、集合
定义一个列表:
lst = ["alex",123,True],用逗号分隔的是一个元素
列表的增加:
append()追加,在列表的最后位置添加一个内容
lst=["dsb",123,True,"黑哥"]
lst.append("djb")
prit(lst)
结果:
["dsb",123,True,"黑哥","djb"]
insert(位置,插入内容) #插入,尽量不要使用当数据量比较大的时候会影响效率
lst=["dsb",123,True,"黑哥"]
lst.insert(2,"wusir")
prit(lst)
结果:
["dsb",123,"wuser",True,"黑哥"]
extend(放可迭代对象) #迭代添加
lst=["dsb",123,True,"黑哥"]
lst.extend("今天好")
prit(lst)
结果:
["dsb",123,True,"黑哥","今","天","好"]
列表的删除
pop() #弹 ——默认删除最后一个,可以指定索引删除但不能超出索引,有返回值,返回的是删除的元素
lst=["dsb",123,True,"黑哥"]
lst.pop()
lst.pop(2)
prit(lst)
结果:
["dsb",123,True]
["dsb",123]
remove() #移除——通过元素名字进行删除,只删除第一个
lst=["dsb",123,"dsb",True,"黑哥"]
lst.remove("dsb")
prit(lst)
结果:
[123,"dsb",True,"黑哥"]
del ——共有的
lst=["dsb",123,"dsb",True,"黑哥"]
del lst#——把lst强制删除
lst=["dsb",123,"dsb",True,"黑哥"]
del lst[0]#——通过索引删除
del lst[0:3]#——通过切片删除
del lst[0:3:2]#——通过步长删除
clear() ——清空列表
lst=["dsb",123,"dsb",True,"黑哥"]
lst.clear()
结果:
[]
列表的修改:
lst = ["dsb",123,"dsb",True,"黑哥"]
lst[1] = "123"#——通过索引修改
print(lst)
lst[1:2] = "1234"#——切片修改等号后边追加的必须是迭代对象
print(lst)
lst[1:4]=1,2
print(lst)
lst[1:4:2]="12"#——步长修改步长不唯一的必须一一对应只能添加两个,多了少了都会出错
结果:
["dsb",”123“,"dsb",True,"黑哥"]
["dsb","1","2","3","4","dsb",True,"黑哥"]
["dsb","1","2","黑哥"]
列表的查:
lst = ["dsb",123,"dsb",True,"黑哥"]
for i in lit:
print(i)
结果:
dsb
123
dsb
True
黑哥
列表的嵌套:——通过索引取值
lst=[1,"alex","春生","小东北","渣弟",["大黑哥","冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]]
lst[-1][-1][-2]
元组:——tuple
元组用于存储一些比较重要的信息,
元组在配置文件中使用
元组就是一个不可变的列表
有序,不可变,可索引
定义方式:
tu=(1,"alex",True,"大黑哥",[1,2,3])
查
tu=(1,"alex",True,"大黑哥",[1,2,3])
tu[0]
tu[:6]
for i in tu:
print(i)
range——范围顾头不顾尾 跟for配合使用,不能跟while使用
python3中的range是一个可迭代对象,写的是怎样的打印就是怎样的
python2中的range返回的是一个列表,顾头不顾尾
xrange和python3中range是相似的
python3获取成列表
print(list(range(0,10)))
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(起始位置,终止位置,步长)
print(list(range(10,0,-1)))
结果
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
print(list(range(10)))
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(100,0,-1):
print(i)
for i in range(100,0,-1):print(i)#循环体只有一行可以放在冒号后边