在Python中更改列表中混合元素的类型

时间:2018-10-06 19:31:38

标签: python-3.x list types

我有一个列表:

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

我需要将int元素更改为int。结果如下:

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

如何?

2 个答案:

答案 0 :(得分:0)

您可以使用一种简短的方法,将package ch6CLASSES; import java.util.Scanner; public class getDie { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("A simple dice game."); int COUNT =10; for (int i=0;i<COUNT;i++) { Die userDie = new Die(); System.out.println("user: "+userDie.getValue()); Die computerDie = new Die(); System.out.println("computer: "+computerDie.getValue()); System.out.println(); } } } 转换为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)

请参阅:Python Exceptions

答案 1 :(得分:0)

您可以尝试以下方法:

g = [int(value) if value.isdigit() else value for value in g]
print (g)