for循环
range–前闭后开
for i in range(5):#start默认从0开始,结束为4,左闭右开
print(i)
for i in range(3,9):#start=3,end=8
print(i)
for i in range(10,20,2):#start=10,end=19,step=2
print(i)
for i in range(18,8,-3):#start=18,end=8,step=-3
print(i)
列表(有序,可修改)
a=[]#创建列表
b=[1,2]
print(type(a),a)
print(type(b),b)
a=[1,‘a’,‘b’]#list为有序列表,可按照索引输出
print(a[0],a[1],a[2])
a=[1,‘a’,‘b’,‘c’]
x=len(a)#len()函数可求长度
print(“长度”,x)
i=0#根据列表长度,输出列表
while i<len(a):
print(“第”,i+1,“个值是:”,a[i])
i+=1
a=[1,2]#列表拼接
b=[3,4,5]
c=a+b
print©
d=a*3
print(d)#重复列表元素
x=a[1]+b[2]#将列表中的元素相加
print(x)
a=[‘a’,‘b’,2,3]#遍历输出列表
for x in a:
print(x)
for i in range(len(a)):#
print(a[i])
a=[10,20,30,40,50,60]
b=a[2:5]
print(b)
a=[‘a’,‘b’,‘c’,1,2,3,4,5]
b=a[2:7:2]
print(b)
b=a[2:]
print(b)
a=[‘a’,‘b’,‘c’,1,2,3,4,5]
b=a[:3]
print(b)
for i in a[-4:-2]:
print(i)
a,b=[1,2]#分别将a,b赋值
print(a,b)
a,*b=[1,2,3]#*b为可变参数
print(a,b)
增加
a=[1,2]
a.append(9)#append()在列表尾加入元素
print(a)
a=[1,2]
b=[3,4]
a.extend(b)#extend()改变了a
print(a)
a=[1,2]
b=[3,4]
print(a+b)
a=[1,2,3,4]
a.insert(2,‘a’)
print(a)
删除
a=[1,2,3,4]
#pop()从后弹出,pop(索引):根据索引移除
b=a.pop()
print(b)
b=a.pop(2)
print(a,b)
a=[1,2,3,4,3,5,6]
a.remove(3)#remove()移除的是元素
print(a)
a=[1,2,3,4,3,5,6]
del a[2]#根据索引移除
print(a)
排序
a=[3,2,1,5,7,8,5]
a.sort()
print(a)
a=[3,2,1,5,7,8,5]
b=sorted(a)#对a不进行改变
print(b)
a=[3,2,1,5,7,8,5]
a.sort(reverse=True)#降序输出
print(a)
#计数
a=[1,2,3,1,5,2,65,2]
b=a.count(2)#有返回值,必须赋值!!!
print(b)
索引
a=[1,2,3,4,5,2,4,6,4,8]
b=a.index(2)#返回第一个位置,有返回值,必须赋值!!!
print(b)
二维列表
a=[[1,2,3],[4,5,6],[7,8,9]]
for i in a:
print(i)
双重循环
a=[[1,2,3],[4,5,6],[7,8,9]]
for i in a:
for j in i:
print(j,end=’,’)
print()
双重索引
a=[[1,2,3],[4,5,6],[7,8,9]]
print(a[1][2],a[2][2])
判断两个变量的
变量赋值
a=3
b=a
a=5
print(a,b)
不改变引用,内存空间改变
a=[1,2,3]
b=a
a.append(4)
print(a,b)
id
id一样的话,内存一样,证明这两个变量是一样的
a=3
b=3
print(id(a))
print(id(b))
a=4#指向的内存地址改变了
print(id(a),id(b))
a=‘abc’
b=‘abc’
print(id(a),id(b))
is
a=3
b=3
print(a==b)
print(a is b)
a=[1,2,3]
b=[1,2,3]
print(a==b)#值相同就会相等
print(a is b)#内存不相同
深浅拷贝(切片属于浅拷贝)
import copy
a=[1,2,3,4,[5,6],7]
b=a
c=copy.copy(a)
d=copy.deepcopy(a)
a.append(7)
a[4].append(99)
print(a,id(a))
print(b,id(b))#b与a什么都一样,内存都一样
print(c,id©)#c中二维的数据,也是内层数据与原数据有关联
print(d,id(d))#d已经成为一个独立的列表,与原数据无关
元组
元组是不可修改的有序序列
a=(1,2,3)
print(a,type(a))
print(a[0])
a=(1,2,3)
for i in a:
print(i)
i=0
while i<len(a):
print(a[i])
i+=1
支持切片
a=(1,2,3,4)
print(a[2::1])
支持拼接
a=(3,4)
b=(1,2)
c=a+b
print©
d=a*2
print(d)
可以接收变量
a,b,c=(1,2,3)
print(a)
print(b,c)
可变变量
a,b,*c=(1,2,3,4)
print(a,b,c)
强制转换
a=[1,2,3]
b=tuple(a)
print(b)
c=list(b)
print©
索引根据元素定位
a=(1,2,3,4)
b=a.index(1)
print(b)
遍历元组
a=((‘张三’,19),(‘李四’,20),(‘王五’,30))
for i in a:
print(i)
a=((‘张三’,19),(‘李四’,20),(‘王五’,30))
for x,y in a:
print(x,y)
enumerate()#显示索引
a=(11,12,13,‘a’)
for i in enumerate(a):
print(i)
元组求和
a=(1,2,3,4,5,6)
sum=0
i=0
while i<len(a):
sum+=a[i]
i+=1
print(sum)