Python 创建相似标记的列表
这里是新的,对Python有些陌生。我有一个空白,希望得到一些指导 我试着写一个嵌套列表,然后写一个for循环来打印一个逗号分隔的数字列表,使用每个列表中的相似标记来配对数字。我的代码如下(2.7.14):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
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)]