如何在Python中初始化二维数组?

发布于 2021-02-02 23:13:56

我开始使用python,并尝试使用一个二维列表,最初我在每个地方都填充了相同的变量。我想出了这个:

def initialize_twodlist(foo):
    twod_list = []
    new = []
    for i in range (0, 10):
        for j in range (0, 10):
            new.append(foo)
        twod_list.append(new)
        new = []

它提供了所需的结果,但感觉像是一种解决方法。有没有更简单/更短/更优雅的方式来做到这一点?

关注者
0
被浏览
150
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    Python中经常出现的一种模式是

    bar = []
    for item in some_iterable:
        bar.append(SOME EXPRESSION)
    

    这有助于激励列表理解的引入,从而将代码段转换为

    bar = [SOME EXPRESSION for item in some_iterable]
    

    它更短,有时更清晰。通常,你养成识别这些习惯的习惯,并经常用理解代替循环。

    你的代码两次遵循此模式

    twod_list = []                                       \                      
    for i in range (0, 10):                               \
        new = []                  \ can be replaced        } this too
        for j in range (0, 10):    } with a list          /
            new.append(foo)       / comprehension        /
        twod_list.append(new)                           /
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看