有没有不同的方法来自动调整 jupyter 列表的长度?
Is there a different way to automatically adjust the length of a jupyter list?
我正在使用 for 循环来缩短我的代码,以获取数据框的特定部分并找到均值和标准差。然后我将这些值保存到一个列表中,因为有不同的数据类型。
我想通过编写 list=[0,0,0]*(len(cities))
来简单地初始化列表,以自动创建一个 x x 3 列表,其中 x 是但是有很多城市。如图所示,这样做的问题是,将单个索引设置为一个值,例如 list[0][1]=1
,不仅会影响该索引,还会影响每一行中的每第 3 列。
我希望有一个更优雅的解决方案,而不是简单地手动计算城市数量和 copy/pasting [0,0,0],...那么多次。我意识到一个解决方案是不像我那样使用 for 循环并完全避免列表,但这不是这个问题的重点。
Simple image of the issue described above. Value being applied to all rows of list.
https://i.stack.imgur.com/hruFz.png
zeros = [[0,0,0] for _ in range(50)]
是一种方式
但可能更好
zeros = numpy.zeros((50,3))
(如果 numpy.array 就足够了)
如果您需要使用混合数据类型(例如字符串和数字)
zeros = numpy.zeros((50,3),object)
我正在使用 for 循环来缩短我的代码,以获取数据框的特定部分并找到均值和标准差。然后我将这些值保存到一个列表中,因为有不同的数据类型。
我想通过编写 list=[0,0,0]*(len(cities))
来简单地初始化列表,以自动创建一个 x x 3 列表,其中 x 是但是有很多城市。如图所示,这样做的问题是,将单个索引设置为一个值,例如 list[0][1]=1
,不仅会影响该索引,还会影响每一行中的每第 3 列。
我希望有一个更优雅的解决方案,而不是简单地手动计算城市数量和 copy/pasting [0,0,0],...那么多次。我意识到一个解决方案是不像我那样使用 for 循环并完全避免列表,但这不是这个问题的重点。
Simple image of the issue described above. Value being applied to all rows of list.
https://i.stack.imgur.com/hruFz.png
zeros = [[0,0,0] for _ in range(50)]
是一种方式
但可能更好
zeros = numpy.zeros((50,3))
(如果 numpy.array 就足够了)
如果您需要使用混合数据类型(例如字符串和数字)
zeros = numpy.zeros((50,3),object)