【问题标题】:Why str([1]) = [1] and not "1" in python为什么 str([1]) = [1] 而不是 python 中的“1”
【发布时间】:2021-07-04 02:48:57
【问题描述】:
str([1]) = [1]

如果我们在 str([1]) 上应用类型转换,为什么我们得不到答案 = "1"

【问题讨论】:

  • 如果你写string([1]),你得到的只是NameError: name 'string' is not defined。并且列表的字符串表示确实包含括号,除非您将list 子类化并覆盖__str__
  • 在Python中进行字符串转换应该是str([1])

标签: python string list type-conversion


【解决方案1】:

首先在 python 中使用 str() ;) str 将您提供的参数转换为字符串。所以当参数是一个数组时,它会返回“[1]”。您可以使用 type(param) 查看结果的类型,它将是一个字符串,如果您打印 res[0],它会给您“[” 如果您想乘坐 [],您可以使用下面的代码:

print(s.replace('[', '').replace(']', ''))

【讨论】:

    【解决方案2】:

    这里没有类型转换。 str 是一个内置函数,它接受任何对象,并生成它的字符串表示形式(通常使用对象的 __str__ 方法)。

    这里,str 的参数是一个列表[1],列表的__str__ 方法将其元素转换为字符串(使用repr),用逗号连接它们,并用方括号@ 括起来987654327@.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 2022-06-27
      • 2022-09-26
      • 2015-08-28
      • 2012-03-28
      相关资源
      最近更新 更多