当前位置:  开发笔记 > 编程语言 > 正文

为什么我的while循环在一轮之后结束?

如何解决《为什么我的while循环在一轮之后结束?》经验,为你挑选了1个好方法。



1> Moses Koledo..:

你的内容中有一个return语句,所以函数一旦到达那个点就会返回.你应该你的回归与时间相同:

def transpose(matrix):
    n = 0
    li = []
    while n < (len(matrix)):
        ...
    return li

您还可以n使用迭代的for循环替换while循环和计数器,range(len(matrix))以便可以安全地丢弃n,然后li在循环外部移动初始化:

def transpose(matrix):
    li = []
    for i in range(len(matrix)):
        inner_li = []
        for sets in matrix:
            inner_li.append(sets[i])
        li.append(inner_li)
    return li

我建议您采用流行的配方来转置矩阵,以使代码更清晰:

def transpose(matrix):
    return list(zip(*matrix))

>>> transpose([[1,2,3],[4,5,6],[7,8,9]])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有