1:for循环
2:if语句,and/or,bool
3:操作列表
4:元组
一:for循环
1:eg:
arrs = ["I","love","China"]
for arr in arrs:
print(arr)
[root@VM_0_11_centos py]# python test.py
I
love
China
2:解析:
for * in **:为格式,python会将**列表中的元素一一赋值给*
注意 :
1: 不要忘记加:
2:属于for循环的语句都要有一个缩进如上述例子中的print
二:if语句
1:eg:if
ages = [16, 18]
for age in ages:
if age>=18:
print("I am mature")
[root@VM_0_11_centos py]# python test.py
I am mature
解析:if *: 表示如果是*的条件成立就执行if内部的语句(同样使用缩进标记同一语句块)
2:eg:if-else
ages = [16, 18]
for age in ages:
if age>=18:
print("I am mature")
else:
print("I am kid")
[root@VM_0_11_centos py]# python test.py
I am kid
I am mature
解析:if和前面的一样的,而else:则表示若前面的条件不成立,就来我这里;
3:eg:if-elif-else
ages = [12, 34, 67]
for age in ages:
if age>=18 and age < 60:
print("I am mature")
elif age >= 60:
print("I am older")
else:
print("I am kid")
[root@VM_0_11_centos py]# python test.py
I am kid
I am mature
I am older
解析:if 和elif的效果相同,只不过elif在中间加的
4:and 和 or
and表示都得成立, or表示任意一个成立
5:布尔表达式
val = true
val = false;
布尔表达式只表达两种状态
三:操作列表
1:range函数:用来生成一系列数字
for value in range(1,6):
print(value)#范围为[1,6)
#使用range创建列表
arrs = list(range(1,6))#使用list把range转换成列表
print(arrs)
[root@VM_0_11_centos py]# python test.py
1
2
3
4
5
[1, 2, 3, 4, 5]
我们还可以决定range的跨度
eg:
arrs = list(range(1,10,2))#去除1-10之间的奇数,跨度为2
print(arrs)
[root@VM_0_11_centos py]# python test.py
[1, 3, 5, 7, 9]
2:min,max,sum
arrs = [453,324,7,123,36,65,29,0]
print(min(arrs))#求列表最小值
print(max(arrs))#求列表最大值
print(sum(arrs))#求列表和
[root@VM_0_11_centos py]# python test.py
0
453
1037
3:列表解析
arrs = [arr**2 for arr in range(1,11)]#给arrs赋予1-10的平方
print(arrs)
eg:
[root@VM_0_11_centos py]# python test.py
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
解析:直接在列表中使用for循环,堆列表进行赋值
4:切片
eg:
arrs = [1,2,3,4,5,6,7,8,9]
print(arrs[3:6])#打印[3,6)的元素
print(arrs[:6])#打印[0,6)的元素
print(arrs[3:])#打印[3,size)的元素
[root@VM_0_11_centos py]# python test.py
[4, 5, 6]
[1, 2, 3, 4, 5, 6]
[4, 5, 6, 7, 8, 9]
5:复制
arr1s = [1,2,3,4,5,6,7,8,9]
arr2s = arr1s[:]#利用切片进行复制
arr1s.append(888)
arr2s.append(888)
print(arr1s)
print(arr2s)
arr1s = [1,2,3,4,5,6,7,8,9]
arr2s = arr1s#直接赋值
arr1s.append(888)
arr2s.append(888)
print(arr1s)
print(arr2s)
[root@VM_0_11_centos py]# python test.py
[1, 2, 3, 4, 5, 6, 7, 8, 9, 888]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 888]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 888, 888]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 888, 888]
我们可以发现,只有利用切皮才是复制,而直接复制只是公用。
6:检查元素在/不在列表中
in 和 not in 搭配if语句使用,表示在和不在
learns = ["Chinese", "English", "Math"]
if "Math" in learns:
print("Yes")
if "c++" not in learns:
print("No")
[root@VM_0_11_centos py]# python test.py
Yes
No
7:检查列表是不是空可以这样
arrs = {}
if arrs:
print("exist")
else:
print("NULL")
[root@VM_0_11_centos py]# python test.py
NULL
四:元组
1:定义
元组看起来和列表差不多,只是用()括起来的,其和列表的差距在于不能改变其内部元素,但是可以通过复制整体更改。
eg:
dimensions = (3,4,5)
print(dimensions)
print(dimensions[2])
#dimensions[1] = 5 编译器报错
dimensions = {5,4,5}#可以赋值
print(dimensions)
[root@VM_0_11_centos py]# python test.py
(3, 4, 5)
5
{4, 5}