将元素列表转换为int而不是python中的字符串

2024-03-28 17:31:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望将这个列表转换为int,而不是其中的string元素。你知道吗

把它们转换成整数。你知道吗

a=[“a\n”,“222\n”,“bbb\n”,“7777”]

有办法吗?你知道吗

我试过了

for x in a:
   x = int(a)

但这一切。你知道吗


Tags: in元素列表forstring整数intbbb
3条回答

编辑:我不太明白OP所说的“把这个列表转换成int”是什么意思

我想你想要:

a = ["a\n", "222\n", "bbb\n", "7777"]

[ int(el) if el.isnumeric() else el     
   for el in a 
]

您可以尝试转换,如果不可能,则返回不变的值:

def to_int(x):
    try:
        return int(x)
    except ValueError:
        return x

a = ["a\n", "222\n", "bbb\n", "7777"]
new_a = [to_int(x) for x in a]
print(new_a)

输出:

['a\n', 222, 'bbb\n', 7777]

不知道你的期望是什么。但是我认为你的列表中有字符串,所以你得到了字符串。试试下面的方法,看看是否有用。你知道吗

#this is all string
#a = ["a\n", "222\n", "bbb\n", "7777"]

#try with the below set
a = [10,11,'1','a','b',12,13,'14','c']

intPart = [x for x in a if isinstance(x, int)]
stringPart = [x for x in a if isinstance(x, str)]

print(intPart)
print(stringPart)

#output
#10, 11, 12, 13]                                                                                                                                               
#['1', 'a', 'b', '14', 'c']  

相关问题 更多 >