混合列表 ints 和 str 到只有 int
Mixed list ints and str into only int
我正在尝试从用户提供的列表中删除 str,例如 [1,a,3,k,k,9,p] 我需要保留列表,然后清理 str 到 then有一个只有 int 的列表。
我没有像下面的代码那样的东西,但我发现整个列表都是 str
谢谢
if isinstance(x,int):
print ('test')
final_list.append(evaluation_list(x))
print (mean(final_list))
我不确定你尝试的解决方案应该是什么,但如果你有一个列表 li
你可以只过滤掉整数:
import numbers
int_li = [n for n in li if isinstance(n, numbers.Integral)]
我假设用户只输入了字符串,你想将这些字符串转换为整数,同时过滤掉不能转换为整数的字符串。
将字符串转换为 int
类型可以通过对字符串调用 int( )
来实现。如果转换失败,将引发异常 ValueError
。您可以在 try
/except
块中捕获该异常。
def map_to_int_or_discard(string_list):
integer_list = []
for x in string_list:
try:
integer_list.append(int(x))
except ValueError:
pass
return integer_list
另一方面,如果您的列表确实包含 int
类型的值和 string
类型的值,那么您可以使用 isinstance( , int)
:[= 过滤掉字符串20=]
def keep_the_int(mixed_list):
return [x for x in mixed_list if isinstance(x, int)]
我正在尝试从用户提供的列表中删除 str,例如 [1,a,3,k,k,9,p] 我需要保留列表,然后清理 str 到 then有一个只有 int 的列表。 我没有像下面的代码那样的东西,但我发现整个列表都是 str 谢谢
if isinstance(x,int):
print ('test')
final_list.append(evaluation_list(x))
print (mean(final_list))
我不确定你尝试的解决方案应该是什么,但如果你有一个列表 li
你可以只过滤掉整数:
import numbers
int_li = [n for n in li if isinstance(n, numbers.Integral)]
我假设用户只输入了字符串,你想将这些字符串转换为整数,同时过滤掉不能转换为整数的字符串。
将字符串转换为 int
类型可以通过对字符串调用 int( )
来实现。如果转换失败,将引发异常 ValueError
。您可以在 try
/except
块中捕获该异常。
def map_to_int_or_discard(string_list):
integer_list = []
for x in string_list:
try:
integer_list.append(int(x))
except ValueError:
pass
return integer_list
另一方面,如果您的列表确实包含 int
类型的值和 string
类型的值,那么您可以使用 isinstance( , int)
:[= 过滤掉字符串20=]
def keep_the_int(mixed_list):
return [x for x in mixed_list if isinstance(x, int)]