学点儿python
2023-12-29 03:25:43
if-else 改变成 and-or的形式
if "Love":
520
else:
404
res=("love" and 520) or 404
使用列表推导式,实现矩阵的转置
这里可以先了解一下列表推导式的几种形式
1.有规律的列表推导式:
list1 = [i for i in range(10)]
print(list1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.带有判断的推导式:
List3 = [i for i in range(10) if i % 2 == 0]
print(list3)
# [0, 2, 4, 6, 8]
3.多个for 的推导式:
list2 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list2)
# [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
接下来,完成转置:
matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Tmatrix=[[row[i] for row in matrix] for i in range(len(matrix[0]))]
print(Tmatrix)
那么应该怎么理解这个转置的列表推导式呢?
首先i表示列号,
当i等于0的时候,表示建立转置后的第一行,此时需要原数组的第一列,前一个循环中,遍历了 原数组每一列的第一个数
以此类推
最后是建立一个杨辉三角
可以根据当前的位置为上一行的数加上上一行左边的数建立,其中要知道join函数的作用是把列表变成一个新的字符串
def printyanghuisanjiao(n):
target=[]
for i in range(n):
row=[1]*(i+1)
for j in range(1,i):
row[j]=target[i-1][j-1]+target[i-1][j]
target.append(row)
for row in target:
print(" ".join(map(str,row)))
n=int(input("输入需要的行数"))
printyanghuisanjiao(n)
文章来源:https://blog.csdn.net/2301_80489323/article/details/135162099
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!