我需要创建一个包含两个列表的列表。 像
这样的东西biglist = [list1,list2]
带
list1 = [1,2,3]
list2 = [4,5,6,7,8]
其中list1
和list2
具有不同的长度,并从文件中导入。
我是通过以下方式做到的:
biglist = []
list1 = #...taken from file. I checked this and it poduces a list exactly how I want it to be: [1,2,3]
biglist.append(list1)
同样适用于list2
但问题是我得到了
biglist = [array([1,2,3]),array([4,5,6,7,8])]
而不是
biglist = [[1,2,3],[4,5,6,7,8]]
我真的不想要array
这个东西,我更喜欢简单的列表。
如何解决这个问题?
答案 0 :(得分:2)
只需使用list1
方法转换您的list2
和numpy.ndarray.tolist()
(这些确实令人困惑的名称,因为这些名称是numpy数组,只是注释),而且
biglist = [list1.tolist(), list2.tolist()]
答案 1 :(得分:1)
请尝试:
biglist.append(list(list1))
biglist.append(list(list2))
或者如果它们是numpy数组
biglist.append(list1.tolist())
biglist.append(list2.tolist())
答案 2 :(得分:0)
您的biglist
似乎是numpy array
的列表。所以,
通过这种方式将numpy array
转换为list
以获得所需的输出。
np.array(LIST_NAME).tolist()
new_biglist = []
for ls in biglist:
new_biglist.append(ls.tolist())
答案 3 :(得分:0)
创建包含所有元素的列表:new_list = list1 + list2
要创建一个包含两个列表的列表:new_list = [list1, list2]
我想你想要第二个解决方案。请注意,列表中可以包含其他数据类型。列表可以包含["string", 10, ["another", "list"], a_variable, more_stuff]
,因此创建一个包含更多列表的新列表很容易。只需将每个所需对象作为项目。
更新:我不知道这是否有用(之前从未使用过numpy),但值得尝试:
new_list = [list(str(list1)[6:-1]), list(str(list2)[6:-1])]
答案 4 :(得分:0)
可能有两种方法来解决此问题:
本地功能:FROM openjdk:8-jdk-alpine
RUN mkdir -p /usr/local/configserver
ADD jce_policy-8.zip /tmp/
RUN unzip /tmp/jce_policy-8.zip && \
rm /tmp/jce_policy-8.zip && \
yes | cp -v /tmp/UnlimitedJCEPolicyJDK8/*.jar /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/
ADD @project.build.finalName@.jar /usr/local/configserver/
ADD run.sh run.sh
RUN chmod +x run.sh
CMD ./run.sh
...
---> Using cache
---> dd33d4c12d29
Step 4/8 : RUN unzip /tmp/jce_policy-8.zip && rm /tmp/jce_policy-8.zip && yes | cp -v /tmp/UnlimitedJCEPolicyJDK8/*.jar /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/
---> Running in 1071273ceee5
Archive: /tmp/jce_policy-8.zip
unzip: short read
数字键功能:unzip: short read
list(object)
虽然问题并不要求采用最佳方法,但这里还有2美分用于评估 two 潜在方法。在这里,我们可以设计测试用例来评估每种方法的性能。
biglist = [list(list1), list(list2)]
numpy.ndarray.tolist()
操作的输出:
bigList = [list1.tolist(), list2.tolist()]