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}]