Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-模运算符理解_Python_Indexing_Nlp - Fatal编程技术网

python-模运算符理解

python-模运算符理解,python,indexing,nlp,Python,Indexing,Nlp,我偶然发现了一些代码,它以一种我以前从未见过的方式使用了模运算符。所讨论的行是data\u index=(data\u index+1)%len(data) 我不知道这段代码在更新数据索引时试图做什么: def generate_batch(batch_size, num_skips, skip_window): global data_index assert batch_size % num_skips == 0 assert num_skips <= 2 *

我偶然发现了一些代码,它以一种我以前从未见过的方式使用了模运算符。所讨论的行是
data\u index=(data\u index+1)%len(data)

我不知道这段代码在更新
数据索引时试图做什么:

def generate_batch(batch_size, num_skips, skip_window):
    global data_index
    assert batch_size % num_skips == 0
    assert num_skips <= 2 * skip_window
    batch = np.ndarray(shape=(batch_size), dtype=np.int32)
    labels = np.ndarray(shape=(batch_size, 1), dtype=np.int32)
    span = 2 * skip_window + 1 # [ skip_window target skip_window ]
    buffer = collections.deque(maxlen=span)
    for _ in range(span):
        buffer.append(data[data_index])

        # What is this doing?
        data_index = (data_index + 1) % len(data)
# ... More stuff ...
def生成批处理(批处理大小、跳过的数量、跳过的窗口):
全球数据索引
断言批大小%num\u跳过==0

assert num_跳过模运算符
%
,具有定义良好的行为。它在除以一个数字后得到余数。它以
a%b
的表达式形式使用,返回值
c

该定义创建了一个有趣的属性,用于问题提供的代码中,将值“包装”到定义良好的范围中。有问题的代码在循环中使用此选项,以确保
数据索引
被包装在
0
len(data)-1
的范围内。当它超出边界时,它只是继续从0追加
数据[data\u index]

下面是模的循环行为的一个例子:

for i in range(10):
    print(str(i) + ' % 3 =', i % 3)
其中打印:

0 % 3 = 0
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1
8 % 3 = 2
9 % 3 = 0

当你用
data\u index+1
除以
data
的长度时,它会找到余数。我已经提交了对你问题的编辑。将来,请提供一个让您困惑的代码列表。在这种情况下,它只是一行。开始提问时,尽可能少的代码来演示它。