Подстановка строки или списка в Python - PullRequest
2 голосов
/ 01 июля 2010

Как мне взять строку:

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

И подставить эти значения числами 1, 2, 3, 4?

Соответственно, как бы я выполнил ту же операцию, но насписок вместо?

Ответы [ 2 ]

4 голосов
/ 01 июля 2010
 to_replace = ["h1","h2","h3","h4"]
 replaced = [ int(s.replace("h","")) for s in to_replace ]

Если это то, что вы хотите.

Это не совсем понятно;Я предполагаю, что вы вводите не строку "(\"h1\", \"h2\", \"h3\", \"h4\")", а список строк.

И я не уверен, что вы имели в виду под своим вторым вопросом, так как он выглядит так же, какпервый.

Я обновлю свой ответ соответственно =)

2 голосов
/ 01 июля 2010

Это исключит все нечисловые символы (не только 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...