Python将行列表转换为列lis

2024-05-13 19:10:39 发布

您现在位置:Python中文网/ 问答频道 /正文

作为python的新手,我有一个似乎不容易解决(或完全理解)的问题 运行以下代码:

(" ".join(map(str,np.int32(((np.arange(14))))))).split()

生成以下内容:

^{pr2}$

鉴于

(" ".join(map(str,np.int32(((np.arange(15))))))).split()

产生以下结果

Out[2]: 
['0',
 '1',
 '2',
 '3',
 '4',
 '5',
 '6',
 '7',
 '8',
 '9',
 '10',
 '11',
 '12',
 '13',
 '14']

我希望能够创建一个列形式的列表,而不是使用少于15个数字的行。在

有人对此有什么帮助吗?在

原因是qtwidges.QCombobox.additems(如果是字符串的话,则为“14”或“不包含在字符串的情况下”)。在

(在windows 7上使用spyder 3.6/ipython 3.6.2/anaconda(4.64bit)/pyqt 5.6.2)

编辑1: 非常感谢你的回复。。然而。。map(str, np.int32(np.arange(14)))产生{}。在

突然间,清单上只有不到15个项目。pyqt/QCombobox的问题似乎越来越像是一些随机错误(当有太多组合框或其他东西时。。。可能还有一个问题。在


Tags: 字符串代码mapnpoutpyqt形式split
1条回答
网友
1楼 · 发布于 2024-05-13 19:10:39

首先,你可以去掉很多括号。你可以写:

(" ".join(map(str,np.int32(((np.arange(14))))))).split()

作为

^{pr2}$

" ".join()和{}正好相反,所以你也可以去掉它们而没有效果。在

map(str, np.int32(np.arange(14))

您看到的区别是,15个数字的列表以行的形式显示,而14个数字的列表以列的形式显示。对内,没有什么区别。 如果要在新行上显示每个数字,只需使用换行符将这些数字连接起来:

"\n".join(map(str, np.int32(np.arange(14)))

如果你坚持使用冒号和括号,你可以这样做:

print("[%s]" % ",\n ".join(map(str, np.int32(np.arange(14)))))

相关问题 更多 >