擅长:python、mysql、java
<p>很明显,它会在最后打印30,因为你的代码</p>
<pre><code>for i in pref_network_find:
splitlines = i.split()
for word in splitlines:
if word in mydict:
i = i.replace(word,str(mydict[word]))
pref = print (i)
</code></pre>
<p>我行刑后30岁。你用的是旧的变量'i'就像这样</p>
<pre><code>for line in pref_network_find:
listi.append(i)
</code></pre>
<p>所以是的,代码做得很好,我是30,它是附加30到你的结果。你知道吗</p>
<p>正确的代码是这样的。你知道吗</p>
<pre><code>import re
data = ['network 10.185.16.64 255.255.255.224','network 55.242.33.0 255.255.255.0','network 55.242.154.0 255.255.255.252']
pref_network_find = re.findall('(\S+\s+255.255.255.\w+)',str(data))
mydict = {"255.255.255.0":24,"255.255.255.128":25,"255.255.255.192":26,"255.255.255.224":27,"255.255.255.240":28,"255.255.255.248":29,"255.255.255.252":30}
listi = []
for i in pref_network_find:
splitlines = i.split()
for word in splitlines:
if word in mydict:
i = i.replace(word,str(mydict[word]))
pref = print (i)
listi.append(i)
print (listi)
</code></pre>
<p>如果我在这里错了,请纠正我,也许你想要别的东西,然而,这是我对你的问题的理解。你知道吗</p>