2012-10-08 45 views
-4

我想打印10行左右的行,每行9行打印符號' - '。例如,如果x = [1,2,3,4,5]。現在我想按以下順序打印:特定順序的打印行

1 
-2 
-3 
-4 
-5 

-1 
2 
-3 
-4 
-5 

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

請幫我解決這個問題。

+1

這是很不清楚的......你是什麼意思「9行用符號打印 - 」「。 (我最困惑的是9 ...) – mgilson

+0

這些行特定於我的數據分析軟件。所以作爲一個輸入,我想打印類似的東西,line1,-line2,-line3,-line4 .....- line1,line2,-line3,-line4 ....- line1,-line2,line3,-line4 ...-行1,-line2,-line3,4號線 –

回答

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
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()從這裏得到預期的結果。