【问题标题】:How to add elements of a string in a list without changing their types?如何在不更改其类型的情况下在列表中添加字符串元素?
【发布时间】:2022-01-16 17:01:07
【问题描述】:

我有一个包含strint 的字符串,例如string = "qA2"。我想在列表中添加'q''A'2,但我不想更改元素的类型。有可能吗?

【问题讨论】:

  • "qA22" 怎么样?整数元素应该是2 还是22
  • @Selcuk 应该是 2。

标签: python-3.x string list types


【解决方案1】:

您可以使用str 类的.isdigit() 方法执行以下操作:

>>> s = "qA234"
>>> [int(x) if x.isdigit() else x for x in s]
['q', 'A', 2, 3, 4]

请注意,对于 "x²" 等字符串,这将失败,因为 ²(上标 2)出于某种原因被 .isdigit() 方法视为数字。以下更安全:

>>> s = "3x²"
>>> [int(x) if "0" <= x <= "9" else x for x in s]
[3, 'x', '²']

【讨论】:

  • 哦,好的。这比我想的要容易得多。谢谢。
猜你喜欢
  • 2017-05-11
  • 2015-12-26
  • 2020-09-13
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多