不带双方括号的打印值 python

Print value without double square brackets python

我试图在 python 中打印一个没有双方括号的值。假设我有

a = [[2]]

我想将该值打印到文本文件或诸如此类的东西中。随着

print(a)

我当然明白

[[2]]

我试过了

 print(np.asarray(a))
 print(str(a))
 print("" . join(str(a)))

所有这些命令return同上。如何打印不带括号的值?

虽然答案在您问题下方的评论中给出,但这只会让您对索引有一些了解。您拥有的是一个整数值作为列表中的子列表。

a = [[2]]

如果你打印它的长度和类型

print (len(a), type(a))

你得到

1 <class 'list'>

这意味着你的 a 是一个长度为 1 的列表。因为在 python 中,索引从 0 开始,列表 a 的内容被访问为 a[0]。但是现在再次重复上面的步骤,

print (len(a[0]), type(a[0]))

产量

1 <class 'list'>

这意味着子列表 a[0] 本身是一个长度为 1 的 list 并且可以使用索引 0 访问此子列表 a[0] 的内容。这意味着 a[0]0 索引为 a[0][0]。这可以永远持续下去,具体取决于子列表的数量。但最终内部的整数将导致 TypeError 因为整数没有长度。

print (len(a[0][0]))

产量

TypeError: object of type 'int' has no len()

希望您理解所有这些子列表和索引背后的要点。

[[2]] 是一个包含数字 2 的列表。

要从列表中获取第一个元素,请使用 a[0]

要从列表中获取第一个元素,然后获取列表中的第一个元素,请使用 a[0][0]

使用 a[0][0],例如如果 a = [1,[2,3]]

a[1][1]

这给你 3