Python中的字符串或列表替换

3 投票
2 回答
1807 浏览
提问于 2025-04-16 00:41

我想知道怎么处理一个字符串:

("h1", "h2", "h3, "h4")

然后把里面的某些值替换成数字 1, 2, 3, 4。你能告诉我该怎么做吗?

另外,我想知道如果是对一个列表进行同样的操作,该怎么做呢?

相关问题:

2 个回答

3

这段代码会去掉所有不是数字的字符(不仅仅是 h):

>>> s = ["h1", "h2" , "h3" , "h4"]
>>> [int(filter(lambda c: c.isdigit(), x)) for x in s]
[1, 2, 3, 4]

或者

>>> s = ["x1", "b2" , "c3" , "h4"]
>>> [int(filter(lambda c: c.isdigit(), x)) for x in s]
[1, 2, 3, 4]
5
 to_replace = ["h1","h2","h3","h4"]
 replaced = [ int(s.replace("h","")) for s in to_replace ]

如果这是你想要的。

这不是很清楚;我猜你的输入并不是字面上的字符串 "(\"h1\", \"h2\", \"h3\", \"h4\")",而是一个字符串的列表。

至于你第二个问题的意思我不太明白,因为它看起来和第一个问题是一样的。

我会相应地更新我的回答 =)

撰写回答