gpt4 book ai didi

python - 打印 numpy 数组作为 python 列表的成员

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:05 26 4
gpt4 key购买 nike

我正在试验 numpy 数组,我有一个非常简单的例子:

list = [2, 3]
list.append(np.array([3.2, 9.0, 7.6]))

如果我执行 print(list),它会打印:[2, 3, array([3.2, 9. , 7.6])]

但是如果我执行 print(list[-1]),它只会打印 [3.2 9. 7.6]任何人都可以为我解释这个,如果我将 numpy 数组打印为我的 python 列表的最后一个元素,为什么它打印时没有“数组”、括号和数字之间的逗号?非常感谢

最佳答案

python 中的对象通常有两种不同的方法,它们为 print 返回自身的字符串表示形式。

它们是 __str__()__repr__(),它们有不同的用途,您可以阅读 here .

要打印某些内容,您首先必须将其转换为字符串。通常 print 将尝试使用 __str__ 进行此转换。

在列表上执行 print 会调用 list.__str__(),然后尝试将其所有内部元素转换为字符串以供打印。列表用于转换这些元素的调用是 __repr__()

所以当你打印一个list时,list得到每个元素的__repr__,但是当你仅打印该元素,print 获取该元素的 __str__

您看到的是 numpy 数组中 __repr____str__ 之间的区别。

x = np.array([1, 2, 3])
x.__str__()
x.__repr__()

输出:

'[1 2 3]'
'array([1, 2, 3])'

关于python - 打印 numpy 数组作为 python 列表的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com