Python Learnning(四)-序列2

一 遍历列表

指将列表中的所有元素取出来
my_list=['b','d','c','a']
i=0;
while i<len(my_list):
	print(my_list[i])
	i+=1

通过for循环来遍历
语法:
	for 变量 in 序列:
		代码块

for循环会执行多次,序列中有几个元素就会执行几次,每执行一次就会将序列中的一个元素赋值给变量
我们可以通过变量,来获取列表中的元素

my_list=['b','d','c','a']  
for s in my_list:
	print(s)

二 range()

可以用来生成一个自然数序列

r=range(5) 生成一个[0,1,2,3,4]
参数:
	1.起始位置 可以省略
	2.结束位置
	3.步长 默认为1

range(3,10) # [3, 4, 5, 6, 7, 8, 9]
range(10,3,-2) # [10, 8, 6, 4]

主要用来配合for循环使用通过range()可以创建一个指定次数的for循环
for i in range(1,11):
print(i)
1-10

for 循环除了创建方式,其余的都和while一样,for循环更加简单

三 元组

元组是个不可变的序列,操作方式基本上和列表是一致的就是什么 insert del append remove
什么都不能用

当我们希望我们的数据不会改变时,使用元组,其余使用列表

创建元组:
	my_tuple=()
	print(my_tuple,type(my_tuple))
	# ((), <type 'tuple'>)

my_tuple=(1,2,3,4,5)

当我们元组不是空元组时,括号可以省略
my_tuple=1,2,3,4
print(my_tuple,type(my_tuple))
# ((1, 2, 3, 4), <type 'tuple'>)

如果元组不是空元组,那么至少有个逗号,即便是只有一个值
my_tuple=40
rint(my_tuple,type(my_tuple))
# (40, <type 'int'>)

my_tuple=40,
print(my_tuple,type(my_tuple))
# ((40,), <type 'tuple'>)

元组的解包(解构)
解包就是指的是将元组中的每一个元素都赋给一个变量
my_tuple=1,2,3,4
a,b,c,d=my_tuple
print(a) # 1

交换a/b的值,使用元组解包
a,b=b,a

a=100
b=200
print(a,b)
a,b=b,a
print(a,b)

在对一个元组进行解包时,变量的数量必须和元组中的数量是一致的
也可以在变量的前面添加一个*号,这样变量将会获取变量中所有的剩余元素
注意不能出现俩个*

my_tuple=1,2,3,4,5
a,b,*c=my_tuple
print(a,b,c)
# 1 2 [3, 4, 5]

my_tuple=[1,2,3,4,5]
a,*b,c=my_tuple
print(a,b,c)
# 1 [2, 3, 4] 5

四 可变对象

每个对象中都保存了三个数据
	-id
	-type
	-value(指的是值可变)

列表是一个可变对象
例如:
a=[1,2,3]
a[0]=10 / a=[4,5,6]代表的是不一样的a[0]修改的是a[0]的对象的值 a=[4,5,6] 代表的是重新
给个新对象附给这个变量

变量 值            id=0x11
				  type=class list
a	0x11		  value=[10,2,3]

a   0x12		  id=0x12
				  type=class list 
				  value=[4,5,6]

当我们去修改对象时,如果有其它变量也指向该对象,则其它变量也会被修改

a=[10]
b=a
b[0]=20
print(a,id(a),b,id(b))
# ([20], 140209423360728, [20], 140209423360728)

为一个变量重新赋值时不会影响其它变量
a=[10]
b=a
b=[20]
print(a,id(a),b,id(b))
([10], 140674889667288, [20], 140674889595432)

一般在为变量赋值时才是修改变量,其余的都是修改对象

五 == !=和 is is not区别

== !=比较的是对象的值是否相等

is is not比较的是对象的id是否相等(比较的是俩个变量是否是一个对象)
a=[1,2,3]
b=[1,2,3]
print(a==b)
print(a is b)
# 	True
	False

a=[1,2,3]
b=[1,2,3]
a=b
print(a==b)
print(a is b)
# 	True
	True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值