迭代多个列表并使用Python

时间:2017-09-21 15:40:18

标签: python

在使用Perl和C之前,我是Python新手。

我遇到了一个简单的问题,Python专家可以很容易地解决这个问题。

我有列表,列表中的值可以是随机的。

list_a = [True, False]
list_b = [False, True]
list_c = [True]

我需要迭代多个列表。我研究过并得到以下工作。

 output_list = []

 for i,j,k in map(None, list_a, list_b, list_c):

      output_list.append([i,j,k])

但我面临的挑战是在输出之后产生如下输出:[(True,False,True), (False,True, None)]

output_list [0] = [True,False,True] output_list [1] = [False,True,None]

期望是应该返回给出关于列表的线索。

output_list [0] = [True_list_a,False_list_b,True_list_c] output_list [1] = [False_list_a,True_list_b,None_list_c]

我不知道输出我得到的output_list是list_a或list_b或list_c。

如何使用相应的list_a,list_b,list_c元素创建output_list,以便我可以发送给函数。

有没有办法找到它?提前谢谢。

2 个答案:

答案 0 :(得分:1)

只是一个猜测。也许,你想要这样的东西(关于你的评论" ... output_list应该有关于哪个列表的元素的线索" ):

root@DESKTOP-JAMJG6V:/mnt/c/Windows/System32# cd "Y:/All Projects/Lab Equipment/DataQ/python/"
bash: cd: Y:/All Projects/Lab Equipment/DataQ/python/: No such file or directory

输出:

import itertools

list_a = [True, False]
list_b = [False, True]
list_c = [True]

output_list = [{'list_a':t[0], 'list_b':t[1], 'list_c':t[2]}
               for t in itertools.zip_longest(list_a, list_b, list_c)]

print(output_list)

答案 1 :(得分:0)

我猜你想要这样的东西:

import itertools
output_list = list(itertools.chain(list_a, list_b, list_c))