创建类似指标的列表

时间:2017-09-18 16:48:17

标签: python python-2.7 for-loop nested

这里有新的,有点新的Python。我有一个空白,并希望得到一些指导。

我正在尝试编写一个嵌套列表,然后编写一个for循环来打印一个逗号分隔的数字列表,使用每个列表中的相同指示来配对数字。我的代码如下(2.7.14):

FirstNumbers = [1, 2, 3]
SecondNumbers = [4, 5, 6]
ThirdNumbers = [7, 8, 9]
NestedNumbers = [FirstNumbers, SecondNumbers, ThirdNumbers]
for i in range(0, 3):
    for each_number in NestedNumbers:
            print each_number[i],
#Output

1 4 7 2 5 8 3 6 9

我目前的问题是尝试将数字读取[1,4,7]等等。我很感激任何指导。

谢谢

3 个答案:

答案 0 :(得分:0)

我认为你需要空列表,所以你可以将数字附加到那个

FirstNumbers = [1, 2, 3]
SecondNumbers = [4, 5, 6]
ThirdNumbers = [7, 8, 9]
NestedNumbers = [FirstNumbers, SecondNumbers, ThirdNumbers]
m = []
for i in range(0, 3):
    k = []
    for each_number in NestedNumbers:
        k.append(each_number[i])
    m.append(k)

输出m:[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

答案 1 :(得分:0)

你需要在“for each_number”部分之后放置“print”[“after”for i in range(0,3)“”和print“]” 这样就会打印出来: [1 4 7] [2 5 8] [3 6 9] 现在你需要在“print each_number [i]”之前插入一个“,” 你最终会得到: [,1,4,7] [,2,5,8] [,3,6,9]你需要在第一次运行中不使用print“,”,因为它是在第一个数字之前打印逗号。

您需要将第二个for语句更改为不通过“NestedNumbers”,因为您无法知道它是否是第一个,而是“range(0,len(NestedNumbers))”,以便您可以查看如果是第一次迭代,是否需要添加逗号。 将其更改为:

UITextField

现在它将打印:

[1,4,7] [2,5,8] [3,6,9]

答案 2 :(得分:0)

试试这个

queriedcode|result
23         | 27
23         | 30
23         | 45

import itertools for n in itertools.chain(*zip(FirstNumbers,SecondNumbers,ThirdNumbers)) print n, 的调用将所需列表组合为元组列表。然后zip将此展平为一个列表。

如果你真的想要这个输出:

itertools.chain

只需打印调用[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

的结果即可