为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

30秒到达战场 2019-07-29 11:21:50
如何在Python中初始化二维数组?我正在开始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 = []它给出了期望的结果,但感觉就像一个解决方法。有没有更简单/更短/更优雅的方式来做到这一点?
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞


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)                           /


查看完整回答
反对 回复 2019-07-29
?
噜噜哒

TA贡献1784条经验 获得超7个赞

您可以使用列表理解

x = [[foo for i in range(10)] for j in range(10)]
# x is now a 10x10 array of 'foo' (which can depend on i and j if you want)


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 2774 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信