Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建相似标记的列表_Python_Python 2.7_For Loop_Nested - Fatal编程技术网

Python 创建相似标记的列表

Python 创建相似标记的列表,python,python-2.7,for-loop,nested,Python,Python 2.7,For Loop,Nested,这里是新的,对Python有些陌生。我有一个空白,希望得到一些指导 我试着写一个嵌套列表,然后写一个for循环来打印一个逗号分隔的数字列表,使用每个列表中的相似标记来配对数字。我的代码如下(2.7.14): 1 4 7 2 5 8 3 6 9 我当前的问题是试图让数字读取[1,4,7]等等。我希望得到任何指导 谢谢你我想你需要一个空的列表,这样你就可以在上面加上数字了 FirstNumbers = [1, 2, 3] SecondNumbers = [4, 5, 6] ThirdNumbers

这里是新的,对Python有些陌生。我有一个空白,希望得到一些指导

我试着写一个嵌套列表,然后写一个for循环来打印一个逗号分隔的数字列表,使用每个列表中的相似标记来配对数字。我的代码如下(2.7.14):

1 4 7 2 5 8 3 6 9

我当前的问题是试图让数字读取[1,4,7]等等。我希望得到任何指导


谢谢你

我想你需要一个空的列表,这样你就可以在上面加上数字了

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]

您需要在“范围(0,3)内的i”之后加上“打印”[”并在“每个_编号”部分之后加上“打印”] 以便打印: [1 4 7][2 5 8][3 6 9] 现在,您需要在“打印每个_编号[i]”之前插入“打印” 您最终将得到: [,1,4,7][,2,5,8][,3,6,9]您不需要在第一次运行时使用“打印”,因为这是在第一个数字之前打印逗号

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

FirstNumbers = [1, 2, 3]
SecondNumbers = [4, 5, 6]
ThirdNumbers = [7, 8, 9]
NestedNumbers = [FirstNumbers, SecondNumbers, ThirdNumbers]
for x in range(0,3): 
    print "["
    for y in range(0,len(NestedNumbers)):
       if y!=0: print ", "
       print NestedNumbers[y][i]
    print "]"
现在它将打印:

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

试试这个

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)]

只需打印调用
zip

的结果看起来像是家庭作业!或测验或作业,嗯?帮了我大忙,虽然我没有使用你的确切代码,但它为我找到答案提供了基础。谢谢!
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]