>>> bool(0)
False
>>> bool(())
False
>>> bool([])
False
>>> bool("")
False
>>> bool(" ")
True
1.if的简写
>>> 4 if 2>3 else 5
5
>>> 4 if 2<3 else 5
4
2.enumeratr() 返回索引号和内容
3.循环嵌套
l1=[0,1,2,3]
l2=[0,1,2,3]
result=[]
for i in l1:
for j in l2:
if (i,j) in result or (j,i) in result:
pass
else:
result.append((i,j))
print(result)
4.break、continue、pass
pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。循环中使用pass语句,不会跳出循环。
continue跳出本次循环。
break 跳出整个循环。
5.判断是否可迭代
>>> from collections import Iterable
>>> isinstance('abc',Iterable)
True
>>> isinstance(123,Iterable)
False
>>> isinstance([1,2,3],Iterable)
True
练习题
# 用两个while,取出里面包含2的数字并打印
i = [[12, 23, 34], [45, 56, 92]]
result = []
n = 0
while n < 2:
for j in i[0]:
if '2' in str(j):
result.append(j)
for j in i[1]:
if '2' in str(j):
result.append(j)
break
print(result)
#用两个while,取出里面包含2的数字并打印
l=[[1,2,3],[4,5,6],[7,8,9]]
result=[]
n=0
#求 所有元素之和
for i in l:
for j in i:
result.append(j)
print("所有元素之和",sum(result))
#求 第一列元素之和和最后一列元素之和
result1=[]
result2=[]
for i in l[0]:
result1.append(i)
for i in l[-1]:
result2.append(i)
print("第一列元素之和",sum(result1))
print("最后一列元素之和",sum(result2))
#求 对角线元素之和
result3=[]
for i in range(len(l)):
for j in range(len(l[i])):
if i==j:
result3.append(l[i][j])
print("对角线元素之和",sum(result3))
#求 矩阵一圈元素之和
result4=[]
for i in range(len(l)):
for j in range(len(l[i])):
if i==0 or i==(len(l)-1):
result4.append(l[i][j])
elif j==0 or j==(len(l)-1):
result4.append(l[i][j])
else:
pass
print(result4)
print("矩阵一圈元素之和",sum(result4))
#三维矩阵的所有元素之和
l1=[[[1,2],[3,4]],[[5,6],[7,8]]]
result5=[]
for i in l1:
for j in i:
for k in j:
result5.append(k)
print(result5)
print("三维矩阵的所有元素之和",sum(result5))