Изменить тип элементов микса в списке в Python - PullRequest
0 голосов
/ 06 октября 2018

У меня есть список:

g=['Зенит','3', 'Спартак', '1', 'Спартак', '1', 'ЦСКА', '1', 'ЦСКА', '0', 'Зенит', '2']

Мне нужно изменить для элементов int на int.В результате вот так:

g=['Зенит',3... ]

Как?

Ответы [ 2 ]

0 голосов
/ 07 октября 2018

Вы можете попробовать это:

g = [int(value) if value.isdigit() else value for value in g]
print (g)
0 голосов
/ 06 октября 2018

Вы можете использовать короткий метод, который try является преобразованием и либо возвращает int, либо само значение и объединяет его с пониманием списка:

g=['a','3', 'b', '1', 'c', '1', 'd', '1', 'e', '0', 'f', '2']

def tryInt(text):
    """Tries to convert text to int. Either returns an int or text"""
    try:
        return int(text)
    except: # catchall for any error whatsoever
        return text

g2 = [tryInt(value) for value in g]

print(g2)

Вывод:

['a', 3, 'b', 1, 'c', 1, 'd', 1, 'e', 0, 'f', 2]

См .: Исключения Python

...