如何使用全零来初始化不同大小的列表

时间:2018-02-19 18:02:08

标签: python list data-structures

我有一系列不同长度的列表。例如,A是一个长度为4的列表,其中A[0]的长度为222A[1]的长度为261,{{1} }长度为A[2]212长度为A[3]。我想创建一个与201具有相同维度的列表的新列表,但所有条目都初始化为0。我该怎么做呢?

代码:

A 我希望A=[[1,2,3,4], [5,6,7], [8,9,10,11,12], [13,14]]看起来如下所示。 B

我尝试的是:B=[[0,0,0,0],[0,0,0],[0,0,0,0,0],[0,0]] 打印时B= np.zeros_like(A)B

我该如何解决这个问题?如果术语与示例不一致,请道歉。

2 个答案:

答案 0 :(得分:2)

根据您的示例,您没有使用numpy

B = [len(a) * [0] for a in A]

@ GergesDib的评论应该同样有效:

B = [np.zeros_like(a) for a in A] # <-- @GergesDib

此外,这是@GergesDib解决方案的修改版本,它为您提供纯Python列表[这是我怀疑您想要的,但我不确定]:

B = [np.zeros_like(a).tolist() for a in A]

答案 1 :(得分:0)

你可以用循环来做。

<div class="field">

    <%= f.label :Industry_Type %> : </b><br />
    <%= f.select :industry,options_for_select([["Select One", ""],
                                            'Automobiles & Transportions', 
                                            'Computer & Telecommunication', 
                                            'Electronics', 
                                            'Electrical']),{},
                                            {class: "form form-group form-control"}%>
</div>

返回

def gen_list(input_list):
    output = []
    for i in range(len(input_list)):
        entry = ''
        for j in range(len(input_list[i])):
            entry += '0'
        output.append(entry)
    return output

foo = ['abc', '1234', 'acb123']

print(gen_list(foo))