我有一个字符串列表。我想将它解压缩到单个变量,并且在执行此操作时我想将一些字符串转换为整数。
蛮力方法可能如下所示
>>> my_list = ['a', '1', '2']
>>> a, b, c = my_list
>>> b = int(b)
>>> c = int(c)
>>> a,b,c
('a', 1, 2)
我正在寻找一种方法来进行转换,作为原始作业的一部分,因此我最终得到的结果如下:
>>> a, b, c = < some magic here >
>>> a,b,c
('a', 1, 2)
任何人都知道我在寻找什么魔法?
答案 0 :(得分:3)
在解压缩之前或现在修复您的my_list
:
my_list = ['a', '1', '2']
a,b,c = (int(x) if x.isnumeric() else x for x in my_list )
print(type(a), type(b), type(c))
# <str, int int>
答案 1 :(得分:0)
如何使用自定义功能并使用地图
def conInt(x):
try:
return int(x)
except ValueError:
return x
my_list = ['a', '1', '2']
a, b, c = map(conInt, my_list)
print a,b,c
<强>结果:强>
a 1 2