2011-05-16 39 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']