列表,元组和range

列表和元组

列表

为什么要有列表

+ int bool str:
	+ str
		+ 储存少量的数据
		+ 切片还是其他操作.获取的都是str类型.储存的数据单一.
		
其他数据类型存储数据较少,达到不了我们的需求

什么是列表

li = ["x","123",Ture,[1,2,3]] 承载任意数据类型,储存大量 的数据
python 常用的容器型数据类型.list 列表. 其他语言:Java:数组
列表是有序的,可索引切片(步长)

列表的操作

列表的创建

方式1: li = [1,x,"s"]
方式2: li =list("多个元素组成的迭代对象")
方式3: 列表推导式(函数部分)

列表索引切片步长

li = [1,3,2,"a",4,"b",5,"c"]

li[开始索引,结束索引,步长]
l1 = li[:3]				#取从开始到第三个索引前一个(顾头不顾尾)
l2 = li[3:-2]			#取第三个开始到倒数第二个的前一个
l3 = li[1:-2:2]			#从第一个开始取,向后每隔2个取一个,取到倒数第二个 
l4 = li[-3::-2]			#从倒数第三个开始取,向前每隔2个取一个,取到开始
print(l1,l2,l3,l4)

列表的增删改查

+ 增
	+append:追加.加在列表最后
	+insert 插入insert(位置,需要加入的字符)
	+extend 迭代增加: extend ("abc")  a,b,c追加进列表
+ 删
	+ 按照位置(索引位置)删除:pop    有返回值(返回被删除的元素)
	+ 指定元素删: remove  (如果有 重名元素,默认删除从左数第一个)
	+ clear() 了解 清空
	+ del 
		+ 可以按照索引删 del li[-1]
		+ 可以按照切片删除 del li[::2]
+ 改
	+ 按照索引改值 li[0] = ""  将右边的值赋给左边
	+ 按照切片改 li[2:] = ""  将右边的值迭代的赋给左边
	+ 按照切片(步长)li[::2] = "abc" 必须一一对应,删一个需要加一个进去
+ 查
	+ 索引
	+ 切片(步长)
	+ for循环

列表的嵌套

li = [1,2,"taibai",[1,"alex",3]]
li[2] = "taibai".upper()
li[-1].append("教育")
print(li)

元组

+ 只读列表,存大量数据,也可以按照索引,切片(步长).
+ 查看
	+ for i in tu
	  	print(i)
	+ tu[x]  x为索引
+ 应用
	+ 重要数据,用户,密码,个人信息.(不想让别人改动的一些数据,存在元组中)
	+ 元组的拆包.分别赋值(列表也行,一般不用)
		a,b =(1,2)    //多一个少一个都不行
			print(a,b)

range

+ 类似于列表,自定制数字范围的数字列表(也有索引)(顾头不顾尾)
+ (x,y,z) x也起始,y为结束,z为步长         {逗号","区分}
+ 多于for循环结合
	li = [1,2,3,4,5]
		for i in range(len(li)):
		print(i)
posted @ 2019-10-23 10:42  路一  阅读(118)  评论(0编辑  收藏  举报