如何捕获" for"的所有迭代循环列表?

时间:2017-07-01 10:40:33

标签: python python-3.x

我试图将for循环的每次迭代的结果都放到列表中,但是当我运行我的代码时,我只能在列表中得到最后一次迭代的结果。

import ipaddress

user_input = input("")

network = ipaddress.IPv4Network(user_input)

for i in network.hosts():
    ipaddresses = i
print(ipaddresses)

结果是 -

10.192.32.0/24
10.192.32.254

2 个答案:

答案 0 :(得分:0)

如果要将for循环的每次迭代的结果都放到列表中,则需要list来存储每次迭代的值。

import ipaddress
user_input = input("")
network = ipaddress.IPv4Network(user_input)

ipaddresses = [] #initiate an empty list

for i in network.hosts():
    ipaddresses.append(i)
print(ipaddresses)

答案 1 :(得分:0)

你总是将ipadresses设置为i的当前值,因此ipadress始终是它设置的最后一个字符串。实现目标的更快方法是进行列表理解:

    import ipaddress

    user_input = input("")
    network = ipaddress.IPv4Network(user_input)

    ipaddresses = [i for i in network.hosts()]

    print(ipaddresses)