Python 中的编码 - 串联的浮点数

Coding in Python - floating number in series

如何在Python中写一个代码,可以打印0.0到4.0,不包括1.0和2.0,递增0.1?

你应该阅读这个问题下的答案:How to use a decimal range() step value?

创建数组或列表或任何您想要的内容后,您可以随时删除一些位置。或者如果你只想打印它,你也可以使用 if 语句。

你可以试试:

 def print_hi():
        for i in range(0, 41, 1):
            if i == 10 or i == 20:
                continue
            print(i / 10.0)

因为Python的range()只能做整数,所以我们做了个小技巧

如果您不介意使用像 numpy 这样的库,一种方法是首先使用 np.arange(start, stop, interval) 创建您想要的数组,然后使用 np.where(condition) 到 select 值。

这是一个例子:

import numpy as np
x = np.arange(0, 4, 0.1)

array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9])

x = x[np.where((x!=1) & (x!=2))]

array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9])

np.where() returns 索引数组。这些索引然后用于 select 仅来自 x 的必需元素。 请注意使用 & 而不是 and。详细了解差异 here.