2011-05-16 32 views
0

我有2個麻煩與我的數據,誰能幫助我:的Python 「列表順序」

我怎樣才能從這個獲得:

k=[['1','7', 'U1'], 
['1.5', '8', 'U1'], 
['2', '5.5', 'U1']] 

得到這個

1,7,U1 
1.5,8,U1 
2,5.5,U1 

編輯2我做出一些變化對第二種情況:,仍在尋找這一個解決方案:

2.而如何才能獲得,從這個

l=array([[[ 4.24231542], 'U1'], 
     [[ 3.41424819], 'U1'], 
     [[ 2.17214734], 'U1'],], dtype=object) 

得到

4.24231542,U1 
3.41424819,U1 
2.17214734,U1 

謝謝

+1

這些都不是語法上有效。 – 2011-05-16 19:32:51

+0

嗯,這是我在Python Shell上得到的,我只是複製了一些數據......也許我必須添加逗號? – thaking 2011-05-16 19:34:07

+0

是的,逗號絕對是必需的。 – 2011-05-16 19:35:37

回答

4

1)

for x in k: 
    print(','.join(x)) 

2)

for x,y in l: 
    print('%.8f,%s' % (x[0], y)) 
+0

嗯,第二個是不工作,因爲我需要。 – thaking 2011-05-16 19:50:46

+0

@thaking:它不怎麼做你想要的?它完全產生你指定的輸出。 – 2011-05-16 19:52:07

+0

如何修改這個不打印,只保存在新的kk或ll? – thaking 2011-05-16 20:10:38

1
for a,b,c in k: print "%s,%s,%s" % (a,b,c) 

for a,b in l: print "%s,%s" % (a[0],b) 
+0

謝謝你,但我也有數據,其中不只是3(a,b,c),有隨機數據,例如1,3,4,5,3.5,U1 .. ... – thaking 2011-05-16 19:43:14

+0

@thaking:檢查任何其他使用'join'的gazillion。無論你的數據長度如何,它們都很好。 – 2011-05-16 19:45:34

1
>>> print k 
[['1', '7', 'U1'], ['1.5', '8', 'U1'], ['2', '5.5', 'U1']] 
>>> for a, b, c in k: 
...  print '%s,%s,%s' % (a, b, c) 
... 
1,7,U1 
1.5,8,U1 
2,5.5,U1 

現在,你試試吧! (用於第二個)

+0

嗯,我仍然在尋找第二個解決方案... – thaking 2011-05-16 19:50:01

5

單行官能樣式:

print '\n'.join(','.join(x) for x in k) 
1

我要去冒險一個猜測到你在語法上的實際意義

對於第一種:

k=[['1','7', 'U1'], 
['1.5', '8', 'U1'], 
['2', '5.5', 'U1']] 

for l in k: 
    print ', '.join(l) 

對於第二個:

for l in k: 
    print l[0][0], l[1] 

希望這有助於

+0

第二個將打印數據空間分隔,而不是逗號分隔。 – 2011-05-16 19:44:40

+0

嗯,我修改第二個;我需要逗號... – thaking 2011-05-16 19:50:25

1

這裏是一個單一的解決方案,將兩個和工作2

k = [['1', '7', 'U1'], ['1.5', '8', 'U1'], ['2', '5.5', 'U1']] 
l = [[[4.2423154199999997], 'U1'], [[3.4142481899999999], 'U1'], [[2.17214734], 'U1']] 

make_string = lambda x: ",".join(map(make_string, x)) if isinstance(x, list) else str(x) 

print "\n".join(map(make_string, k)) 
print "\n".join(map(make_string, l)) 
0

使用地圖:

k = [['1','7', 'U1'], ['1.5', '8', 'U1'], ['2', '5.5', 'U1']] 

map(','.join, k) # returns ['1,7,U1', '1.5,8,U1', '2,5.5,U1']