从父列表中获取数字并仅创建数字子列表的python程序。但是,输出不是完整的编号列表。 没有尝试。 python的新手。
input = ['True','False',[1,2,3,4],2,1.2,4,0.44]
# str(i): changing int or float to str
return [str(i) for i in l if (type(i) == int or type(i) == float) ]
# append the numbers if it is an int or a float
print(f"num_str = {num_str(input)}")
# Output:
# num_str = ['2', '1.2', '4', '0.44']
# 1 and 3 are missing in the list.
答案 0 :(得分:0)
为简化起见,我将使用“更简单”的输入列表作为
input = ['True','False',1,2,3,4,2,1.2,4,0.44]
# Changed the '[1,2,3,4]' for '1,2,3,4'
# Than you can:
result_list = []
for item in input:
if isinstance(item, (int,float)):
result_list.append(item)
#
print(result_list)
[1, 2, 3, 4, 2, 1.2, 4, 0.44]
要使其在您提供的输入上起作用,最好是 查看输入的来源并仔细考虑是否可以将列表中的列表包含在列表中,例如
a = [ 1,2,3,[10,"a",40,[56,"b"]],5,"string"]
如果可以的话,递归检查当前项是否为Iterable类型会很有趣,否则只需添加另一个即可处理
b = [1,2,3,[5,6,"string"],7]