2017-08-20 5 views

答えて

3

をすでにリストにそのリスト、何を持っていることは基本的には、すでにPythonで1つのリストの同じ表現で、指摘しました変換はあまり意味がありません。しかし、リストを文字列変換にしたい場合、リストを素敵な文字列として出力する方法は、pprintのオプションか、かわいい印刷です。これは、あなたが探しているものにかなり近いと思われる標準ライブラリからのモジュールです:

import pprint 

l = [[1, 2, 3],[3, 4, 5],[8, 5, 9]] 

pprint.pprint(l, width=12) 

は出力

[[1, 2, 3], 
[3, 4, 5], 
[8, 5, 9]] 

は、今私は人為的にその最大幅ビットを削減しなければならなかった与えますあなたのリストは非常に短く、デフォルトではpprintは短縮する価値はないと考えています。 pformatの

import pprint 

l = [[1, 2, 3],[3, 4, 5],[8, 5, 9]] 

s = pprint.pformat(l, width=12) 
2

あなたが探しているものは、リストの__repr__です。どのように表示されているのでしょうか?意味的には、2つは同じものである。

しかし、そのようなリストを表示したい場合は、これを行う方法です。

  1. numpyで簡単な方法:

    import numpy as np 
    
    lst = [[1, 2, 3],[3, 4, 5],[8, 5, 9]] 
    print(np.array(lst)) 
    
    [[1 2 3] 
    [3 4 5] 
    [8 5 9]] 
    
  2. グロテスクな方法で、バニラのpythonを使用して。

    print('[' + '\n '.join(str(x).replace(',', '') for x in lst) + ']') 
    [[1 2 3] 
    [3 4 5] 
    [8 5 9]] 
    
  3. 他の答えは、私が2にシンプルな代替が、限られた柔軟性を考慮pprint.pprintに言及しています。代わりに、あなたのリストを飾り立てるために、コンマを取り除くpprint.pformatを使用することができます。

    import pprint 
    print(pprint.pformat(lista, width=12).replace(',', '')) 
    
    [[1 2 3] 
    [3 4 5] 
    [8 5 9]] 
    
+1

ニース使用:あなたはあなたのプログラム内の文字列表現をしたい場合、それは文字列を返す以外

また、あなたは、ほとんど同じようにpprint.pformatを使用することができます。あなたがカンマを必要としないなら、私はそれが行く方法だと思います。 –

関連する問題