2016-07-27 24 views
1

私はPythonで2つのリストを持っています。Pythonでコンマのないタプルのリストを印刷するには?

a = [1, 2, 4, 8, 16] 
b = [0, 1, 2, 3, 4] 

およびそれらのzipある3番目のリストc。私は、括弧の後にカンマなしリストcを印刷したい

c = [(1, 0), (2, 1), (4, 2), (8, 3), (16, 4)] 

c = zip(a, b) 

かは、単純に私はこのようなタプルのリストを持っています。 Pythonでこれを行う方法はありますか?

私はこのようなリストcを印刷したいと思います:

[(1, 0) (2, 1) (4, 2) (8, 3) (16, 4)] 
+0

なぜあなたはこれをやりたいのですか? –

+1

私はLaTeXで 'tikz'を使ってグラフをプロットしています。私が得ている出力は、Pythonで生成されます。つまり、タプルのリストです。 'tikz'は'(0、0)、(()のような点の集合を受け入れないので、 'tikz'で印刷リストを書くためにすべてのコンマを取り除かなければなりません。 1,1)。リストが非常に長い場合は、カンマを一つずつ取り除きたいとは思わないでしょう。 – Jika

答えて

3
print('[%s]' % ' '.join(map(str, c))) 

プリント:あなたの入力の

[(1, 0) (2, 1) (4, 2) (8, 3) (16, 4)] 

基本的には、タプルの自然な文字列表現を使用しているだけで、スペースで結合することができます。

0

最終結果を文字列として作成しても問題ありませんか?文字列形式でタプルのリストを作成するために、リスト内包を使用して

c_no_comma = '' 
for element in c: 
    c_no_comma += str(element) + ' ' 

c_no_comma = '[ ' + c_no_comma + ']' 
+0

これは、リスト内のすべての要素に対して2つの新しい文字列オブジェクトを作成し、最後に2つの文字列オブジェクトを作成します。ひどく非効率。 –

3
print('[' + ' '.join([str(tup) for tup in c]) + ']') 

。それらは結合され、あなたが望むように見えるように角括弧が追加されます。

+0

コードの書式設定に先行する4つの空白:) –

関連する問題