38858


タプルの値を空白区切りで出力したいです。以下のような書き方をしていたのですが、何かもっといい書き方はないでしょうか？  
期待する出力  
3 2 1  
6 5 4  
9 8 7

[code]

    data = [(3,2,1), (6,5,4), (9,8,7)]
    
    for i in data:
    　　　　for j in range(3):
        　　　　print(str(i[j]) + ' ',end = '')
    　　　　print()
    
[/code]


CC BY-SA 3.0
2017-10-18T05:36:37.293
38824
2018-02-08T07:09:06.740
25679
question
python python3
python3 タプルを空白区切りで出力したい


これでどうでしょう

[code]

    >>> data = [(3,2,1), (6,5,4), (9,8,7)]
    >>> for i in data:
    ...     print(' '.join([str(j) for j in i]))
    ... 
    3 2 1
    6 5 4
    9 8 7
    
[/code]


CC BY-SA 3.0
2017-10-18T05:43:41.243
38826
2017-10-18T05:43:41.243
806
38824
answer

[code]

    for i in data:
         print(' '.join(str(j) for j in i))
    
[/code]

か

[code]

    for i in data:
         print(' '.join(map(str, i)))
    
[/code]

でしょうね。

（これ以上行数を減らそうとするのはきっとやりすぎ）


CC BY-SA 3.0
2017-10-18T06:19:24.120
38830
2017-10-18T06:19:24.120
12274
38824
answer


print関数に*で引数展開で。（セパレータはデフォルトの空白文字でよい）

[code]

    data = [(3,2,1), (6,5,4), (9,8,7)]
    [print(*i) for i in data]
    
[/code]


CC BY-SA 3.0
2017-10-19T05:45:27.437
38858
2018-02-08T07:09:06.740
2018-02-08T07:09:06.740
25830
25830
38824
answer