我想输入一个数字,例如8 8.5 7 3 4 5.5 8 9 10.5 并进入列表。
我已经尝试过以下代码,但是:
我的输入:
尺寸:9.5 9 10 10.5 3 4 8 7.5
我的输出:
[9.5,9.0,10.0,10.5,3.0,4.0,8.0,7.5]
我想要的结果:
[9.5、9、10、10.5、3、4、8、7.5]
select_sizes = [float(x) for x in input('Sizes: ').split()]
print(select_size)
我有我已抓取的此列表----- size_ids列表:['91 | 10.5','150 | 9.5','28 | 4','29 | 5','22 | 8', '23 | 9','24 | 10','25 | 11','26 | 12'] ---------输入列表的示例:[5,5.5,6,7,8.5,10.5 ],基本上我想使用我输入的列表,如果上面的size_ids列表与输入列表中的第一件事匹配,它将在size_ids列表中将该数字作为fsize获取。
答案 0 :(得分:3)
[float(x) if '.' in x else int(x) for x in input('Sizes: ').split()]
这就是您想要的,但是在列表中混合使用不同的类型并不是可以的,实际上您可以使用浮点数并且不会刹车。
答案 1 :(得分:2)
如果只需要格式化,则可以使用%g
说明符来打印不带尾随0的浮点数(存储浮点数和整数的混合不是一个好主意):
print(", ".join("%g" % x for x in select_size))
将打印
9.5, 9, 10, 10.5, 3, 4, 8, 7.5
当然,您可以选择通过手动将方括号添加到结果字符串中来添加方括号(但是您真的需要吗?)