"""
双层for循环
"""
'''
#exercise01
在终端打印
*#*#
*#*#
*#*#
*#*#
'''
#外层循环控制行
for i in range(4):
#内层循环控制列
for j in range(4):
if j % 2 == 0:
print("*",end="")
continue
print("#",end="")
print()
'''
打印
*
**
***
****
'''
for i in range(4): #i= 0 1 2 3
for j in range(i+1): # j=1 2 3 4
print("*",end="")
print()
'''
exercise02
列表排序(升序) [3,80,45,5,7,1]
目标:列表中所有元素两两比较
思想:
取出第一个元素,与后面元素进行比较;
取出第二个元素,与后面元素进行比较
取出第三个元素,与后面元素进行比较
....
取出倒数第二个元素,与后面元素进行比较。
若是取出的元素大于后面的元素,则交换
'''
list01 = [3,80,45,5,7,1]
#推导过程 将其中变化的量提成变量
#list01[0] list01[1]
#list01[0] list01[2]
#list01[0] list01[3]
#取出第一个元素,与后面元素进行比较
#for i in range(1,len(list01)):
# list01[0] list01[i]
#取出第二个元素,与后面元素进行比较
#for i in range(2,len(list01)):
#list01[1] list01[i]
#for i in range(3,len(list01)):
#取出第三个元素,与后面元素进行比较
# list01[3] list01[i]
#取数据
for i in range(len(list01)-1):
#作比较
for j in range(i+1,len(list01)):
if list01[i] > list01[j]: #倒序,将'>'改为'<
list01[i],list01[j] = list01[j],list01[i]
print(list01)
'''
exercise03
矩阵转置 将二维列表的列变成行
[ [1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]
'''
list02 =[ [1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]
new_list = []
for i in range(len(list02[0])):
line = []
for j in range(len(list02)):
line.append(list02[j][i]) #将j列i个数字添加到line
new_list.append(line)
print(new_list)
'''
列表推导式嵌套
'''
list03 = ["a","b","c"]
list04 = ["d","e","f"]
new_list01 = []
for i in list03:
for j in list04:
new_list01.append(i+j)
print(new_list01)
new_list02 = [i+j for i in list03 for j in list04]
print(new_list02)
05-20
1126
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交