This question already has answers here:
Python: range function for decimal numbers
(4个答案)
How to use a decimal range() step value?
(33个答案)
5年前关闭。
使用Python 3.4,我有一个列表,其中包含数字,这些数字具有8位或更多的小数位(例如-72.2373909452和175.33903215),我需要一种根据其数字将它们分开的方法。
原始代码如下所示:
但出于明显的原因,它不起作用,并且不会在新列表中添加任何数字。
我还考虑过先将数字相乘,然后才将范围数字乘以10,但是由于每个数字之间的小数位数不同,因此不可行。
即使
附带说明,您应该在
(4个答案)
How to use a decimal range() step value?
(33个答案)
5年前关闭。
使用Python 3.4,我有一个列表,其中包含数字,这些数字具有8位或更多的小数位(例如-72.2373909452和175.33903215),我需要一种根据其数字将它们分开的方法。
原始代码如下所示:
for number in list:
range_list=[]
if number in range(x, y):
range_list.append(number)
但出于明显的原因,它不起作用,并且不会在新列表中添加任何数字。
我还考虑过先将数字相乘,然后才将范围数字乘以10,但是由于每个数字之间的小数位数不同,因此不可行。
最佳答案
据我了解,您想检查number
是否在x
和y
之间。
然后使用比较即可。下面的行为与“ number in range(x, y)
”解决方案具有的整数相同:
if x <= number < y:
range_list.append(number)
即使
number
是整数,这种比较也比涉及range
的解决方案更清晰,而且很有可能更快。附带说明,您应该在
range_list
循环之外定义for
,否则最终将在每个循环中清空列表:range_list=[]
for number in my_list:
if x <= number < y:
range_list.append(number)
关于python - 获取Python range()以识别小数,例如70.555555 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27149930/
10-16 20:31