我想写一个像这样的函数:
def convert_list_items(a_list, a_type):
new_list = []
for item in a_list:
new_list.append(a_type(item))
return new_list
因此,该函数将以(['1','2'],int)
作为参数并返回[1,2]
,如果a_type
设置为str
,则返回相反的结果
我当然可以编写一系列if
与a_type == str
相关的str()
语句,但这似乎是多余的。我也可以尝试使用字典或类似的并行列表:
types = [int, str]
converters = ["int(item)", "str(item)"]
operation = converters[types.index(a_list)]
for item in a_list:
eval(operation)
但是有更干净的版本吗?类似于int.convert(object)
。在3.x中可以吗?随时将我的标题编辑得更清楚些,我不确定该怎么说。