回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我就是不明白。请看下面我的代码</p>
<pre><code>def startscan(rangeip,ports,cblocks):
pool = ThreadPool(processes=MAX_THREADS)
results = []
testt = []
#print(rangeip)
#print(ports)
#print(cblocks)
for ii in range(cblocks):
print(rangeip[2])
rangeip[2] = int(rangeip[2]) + 1
print(rangeip[2])
print(rangeip)
testt.append(rangeip)
print(testt)
</code></pre>
<p>当我运行它时,它返回以下输出:</p>
<pre><code>root@node2nl home]# python g.py -r 192.168.20.1 -p 80 -a 3
20
21
['192', '168', 21, '1']
21
22
['192', '168', 22, '1']
22
23
['192', '168', 23, '1']
[['192', '168', 23, '1'], ['192', '168', 23, '1'], ['192', '168', 23, '1']]
</code></pre>
<p>正如您所看到的,除了testt列表没有正确填充之外,其他都是正确的。它显示的值是相同值的三倍。我需要它输出正确的结果如下</p>
<pre><code>[['192', '168', 21, '1'], ['192', '168', 22, '1'], ['192', '168', 23, '1']]
</code></pre>
<p>我做错什么了?这里好像发生了什么奇怪的事情</p>