Python numpy围绕每个列表打印list()
我有一个列表数组,其中包含柠檬化的单词。当我一次打印多个时,这是输出:Python numpy围绕每个列表打印list(),python,list,numpy,printing,Python,List,Numpy,Printing,我有一个列表数组,其中包含柠檬化的单词。当我一次打印多个时,这是输出: print(data[:3]) [list(['@', 'switchfoot', 'http', ':', '//twitpic.com/2y1zl', '-', 'Awww', ',', 'that', "'s", 'a', 'bummer', '.', 'You', 'shoulda', 'got', 'David', 'Carr', 'of', 'Third', 'Day', 'to', 'do', 'it', '
print(data[:3])
[list(['@', 'switchfoot', 'http', ':', '//twitpic.com/2y1zl', '-', 'Awww', ',', 'that', "'s", 'a', 'bummer', '.', 'You', 'shoulda', 'got', 'David', 'Carr', 'of', 'Third', 'Day', 'to', 'do', 'it', '.', ';', 'D'])
list(['is', 'upset', 'that', 'he', 'ca', "n't", 'update', 'his', 'Facebook', 'by', 'texting', 'it', '...', 'and', 'might', 'cry', 'a', 'a', 'result', 'School', 'today', 'also', '.', 'Blah', '!'])
list(['@', 'Kenichan', 'I', 'dived', 'many', 'time', 'for', 'the', 'ball', '.', 'Managed', 'to', 'save', '50', '%', 'The', 'rest', 'go', 'out', 'of', 'bound'])]
我尝试了很多方法来摆脱它,但都没有成功,但当我尝试时:
a = [[i for i in range(5)] for _ in range(5)]
print(np.array(a))
并非每个列表周围都有list()输出:
array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]])
这是否意味着它们是不同的列表?它只是在字符串列表中发生的吗?如果有必要的话,我该怎么处理呢当然,谢谢你的时间 您可以潜在地循环浏览3个列表,并使用前面的*符号打印它们
for i in data[:3]:
print(*i)
在正常情况下,这将删除列表中的方括号和逗号,并用空格打印出来。我必须承认,虽然我不明白你们是如何得到你们的产出的,所以这只是我的2美分。希望有帮助:)
将数组转换为列表。这将使用列表列表显示,而不是列表数组
但正如注释中所述,列表数组和2d数组之间存在显著差异
包括
列表
显示是numpy
中相对较新的更改。我认为,添加它是为了澄清对象数据类型数组元素的基本性质
例如,考虑具有多种元素类型的数组:
In [532]: x=np.empty(5,object)
In [533]: x[0]=[1,2,3]; x[1]=(1,2,3); x[2]=np.array([1,2,3]); x[3]=np.matrix([1,2,3]); x[4]={0:1}
In [534]: x
Out[534]:
array([list([1, 2, 3]),
(1, 2, 3),
array([1, 2, 3]),
matrix([[1, 2, 3]]),
{0: 1}],
dtype=object)
为了清晰起见,我调整了布局。但是请注意,如果没有单词,列表和数组元素看起来会非常相似
将数组转换为列表,我们将获得列表的默认格式:
In [537]: x.tolist()
Out[537]: [[1, 2, 3], (1, 2, 3), array([1, 2, 3]), matrix([[1, 2, 3]]), {0: 1}]
数组和列表的元素相同。内部numpy数组的元素数应该相等。在您的示例中,第一个列表包含27个、第二个25个和最后21个元素。因此numpy将它们存储为python对象。列表对象数组将始终打印
list
部分。当您执行np.array(a)
时,它将根据您的系统创建一个32位或64位整数的二维数组。numpy是否有能力处理锯齿数组?@kevinkayak仅处理对象
dype数组或np.array
对象,但您为什么要这样做?这将消除优势。也可以使用列表,但这并不一定会消除某些操作的优势。就像两个2D阵列,其中第二个轴的长度可变:可以想象广播会丢失,但对齐操作可以在没有for循环的情况下完成
In [537]: x.tolist()
Out[537]: [[1, 2, 3], (1, 2, 3), array([1, 2, 3]), matrix([[1, 2, 3]]), {0: 1}]