我想使用打印列表中的每个项目来存储在数据库中。因此,每个项目将单独调用以存储一个表(此表有两列,列IP地址和列端口)。 我有两个列表:list_a,其中存储所有IP地址(例如192.168.1.143),list_b(例如22)存储所有端口号。
result_list = []
for host in list_a:
for port in list_b:
result_list.append([host,port])
for item in result_list:
print item
使用此代码,我得到以下输出,这是正确的:
['192.168.1.143', 22]
['192.168.1.51', 22]
['192.168.1.50', 80]
['192.168.1.43', 22]
['192.168.1.61', 20]
['192.168.1.60', 80]
但是当我使用item,item [0]或item [1]访问列表中的项目时,只存储最后的元素。在这种情况下['192.168.1.60',80]。 如何将所有元素存储在列表中,以便我可以使用列表中的所有元素?
答案 0 :(得分:1)
我不完全确定你要做什么,但如果你想要两个列表中的笛卡尔积,我认为这是pythonic方式:
from itertools import product
for p in in product(list_a,list_b):
do_stuff(p)
根据科波菲尔的提示略微编辑。
答案 1 :(得分:0)
我找到了答案。问题是该脚本生成了多个列表(如上所示)。解决方案是在嵌套列表中打印输出,如下所示:
[['192.168.1.143', 22],['192.168.1.51', 22],['192.168.1.50', 80],['192.168.1.43', 22],['192.168.1.60', 80]]
从这里我创建了另一个for循环来访问所有元素。谢谢大家!