Python中的字符串或列表替换
我想知道怎么处理一个字符串:
("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\")",而是一个字符串的列表。
至于你第二个问题的意思我不太明白,因为它看起来和第一个问题是一样的。
我会相应地更新我的回答 =)