文章目录
矩阵转置
"""
矩阵转置
将list01中的每列,存储到list02中的每行.
"""
list01 = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16],
]
list02 = []
for c in range(4):
line = []
for r in range(4):
line.append(list01[r][c])
list02.append(line)
print(list02)
排序
"""
[5,56,65,7,87,3,9]
升序(小 --> 大)
思想:
取出前几个(不要最后一个)
依次与后面进行比较
如果发现更小的则交换
"""
list01 = [5, 56, 65, 7, 87, 3, 9]
# 让列表中所有元素,俩俩比较。
# 取数据 取到倒数第二个,倒数第一个后面没有数据了
for r in range(len(list01)-1):#0 1 2 3...len-2
# 做比较
for c in range(r+1, len(list01)):
if list01[r] > list01[c]:
list01[r],list01[c] = list01[c],list01[r]
print(list01)
列表推导式嵌套
# 1. 打印扑克牌
# 花色:["红桃","黑桃","方片","梅花"]
# 数字:["A","2","3","4","5","6","7","8","9","10","J","Q","k"]
list_suit = ["红桃", "黑桃", "方片", "梅花"]
list_number = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "k"]
list_poket = [suit + number for suit in list_suit for number in list_number]
print(list_poket)
# 2. 一個色子有1--6個數字range(1,7)
# 請打印出3个色子所有的数字
# list_result = []
# for x in range(1,7):
# for y in range(1,7):
# for z in range(1,7):
# list_result.append((x,y,z))
list_result = [(x, y, z) for x in range(1, 7) for y in range(1, 7) for z in range(1, 7)]
print(list_result)