按特定顺序打印行

时间:2012-10-08 19:15:36

标签: python

我希望以这样的方式打印大约10行,在每个序列中,9行打印带符号' - '。例如,如果x = [1,2,3,4,5]。现在我想按以下顺序打印,

 1
-2
-3
-4
-5

-1
2
-3
-4
-5

-1
-2
3
-4
-5
..etc. 

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

只需使用两个嵌套循环,每个循环遍历索引。

x = [1,2,3,4,5]
for i in xrange(len(x)):
    for j, xi in enumerate(x):
        if i == j:
            print xi,
        else:
            print -xi,
    print

答案 1 :(得分:1)

In [36]: x = [1,2,3,4,5]

In [38]: for i,x in enumerate(lis):
    print map(lambda x:-x,lis[:i]) + [x] + map(lambda x:-x,lis[i+1:])   

[1, -2, -3, -4, -5]
[-1, 2, -3, -4, -5]
[-1, -2, 3, -4, -5]
[-1, -2, -3, 4, -5]
[-1, -2, -3, -4, 5]

使用"".join()从此处获得预期结果。