2013-10-01 2 views
8

と印刷タプル要素はノーカッコ相続人パイソン - なしブラケット

私のタプルとタプルから要素を印刷する方法を探しています:

mytuple = [(1.0,),(25.34,),(2.4,),(7.4,)] 

私が作るために、リストにこれを変換しますそれは簡単にそして

mylist == list(mytuple) 

私でし以下

for item in mylist: 
    print item.strip() 
で動作するように3210

しかし、私はリストに変換思ったので、奇妙である、次のエラー

'tuple' object has no attribute 'strip' 

を取得しますか?私は、最終的な結果は

1.0, 
25.34, 
2.4, 
7.4 

または

1.0, ,23.43, , 2.4, ,7.4 

のようなもののおかげ

+5

を追加することができ、上記あなたが言及した正確な結果を得るには? –

答えて

8

mytupleあるとして見ることを期待するもの

はそう呼び出し、すでにリスト(タプルのリスト)でありますlist()は何もしません。

(1.0,)は1つの項目を含むタプルです。試したように、文字列関数を呼び出すことはできません。それらは文字列型です。

ただやる、タプルのリスト内の各項目を印刷するには:

for item in mytuple: 
    print str(item[0]) + ',' 

または:

print ', ,'.join([str(i[0]) for i in mytuple]) 
# 1.0, ,25.34, ,2.4, ,7.4 
+1

'print '、、'。join(map(str、mytuple))'同じことをしますか? –

+1

@ Mr_and_Mrs_D私たちは 'i [i] for i'と' i for i'ではなく – TerryA

4

をあなたにも、このようにそれを行うことができます。

mytuple = (1,2,3) 
print str(mytuple)[1:-1] 
0

私はタプルの 'items'を反復するよりも、リストのタプルを繰り返し処理する必要があります。

my_tuple_list = [(1.0,),(25.34,),(2.4,),(7.4,)] 

for a_tuple in my_tuple_list: # iterates through each tuple 
    for item in a_tuple: # iterates through each tuple items 
     print item 

結果:

1.0 
25.34 
2.4 
7.4 

あなたはいつもあなたが実際にそれらの二重のカンマをしたい

print item + ',' 
0
mytuple = [(1.0,),(25.34,),(2.4,),(7.4,)] 
for item in mytuple: 
    print(*item) # *==> unpacking