嗨,我想清理我的代码,我在python编程语言中尽可能将项目列表转换为整数。
example_list = ["4", "string1", "9", "string2", "10", "string3"]
所以我的目标(可能很简单)是将列表中的所有项从整数转换为整数,并保持实际的字符串为字符串。程序的期望输出应该是:
example_list = [4, "string1", 9, "string2", 10, "string3"]
我正在寻找一个很好的干净的方法,因为我确信这是可能的。我很好奇有什么好的方法。
您也可以这样做:
examples = ["4", "string1", "9", "string2", "10", "string3"]
# 1. Use for-loop to check
result = []
for item in examples:
if item.isdigit():
result.append(int(item))
else:
result.append(item)
print(result)
# 2. List Comprehension
ans = [int(x) if x.isdigit() else x for x in examples]
assert result == ans # silence, because they are same
根据您之前的问题,我假设您正在使用python。您可以使用try ... except
子句:
example_list = ["4", "string1", "9", "string2", "10", "string3"]
def try_int(s):
try:
return int(s)
except ValueError:
return s
output = [try_int(s) for s in example_list] # or map(try_int, example_list)
print(*output) # [4, 'string1', 9, 'string2', 10, 'string3']