numpy在每个列表周围打印list()

时间:2018-09-01 21:54:51

标签: 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', '.', ';', '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]])

这是否意味着它们是不同的列表?它仅在字符串列表中发生吗?如果有必要,我该如何摆脱它,谢谢您的宝贵时间。

2 个答案:

答案 0 :(得分:0)

您可以潜在地循环浏览这3个列表,并在前面打印*符号。

for i in data[:3]:
  print(*i)

在正常情况下,这会删除列表的方括号和逗号,并仅打印空格。我必须承认,尽管我不了解您如何获得您的输出,所以这只是我的2美分。希望对您有所帮助:)

答案 1 :(得分:0)

print(data[:3].tolist()) 

将数组转换为列表。这将使用列表显示列表,而不是列表数组。

但是正如注释中所散列的那样,列表数组和2d数组之间存在显着差异。


包含list的显示是numpy中相对较新的更改。我认为,它是为了阐明对象dtype数组的元素的本质而构成的。

例如,考虑具有多种元素类型的数组:

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)

为了清楚起见,我对布局进行了调整。但是请注意,如果没有这些单词,则list和array元素将看起来非常相似。

将数组转换为列表,我们将获得列表的默认格式:

In [537]: x.tolist()
Out[537]: [[1, 2, 3], (1, 2, 3), array([1, 2, 3]), matrix([[1, 2, 3]]), {0: 1}]

数组和列表的元素相同。