2016-07-12 6 views
0

私は次のことを取得しようとしています:どこに ' n'を含めますか?

[A1, B1, C1] 
[A2, B2, C2] 
[A3, B3, C3] 

リストの内包表記を使用。

listeHoriz = ['A','B','C'] 
listeVert = ['1','2','3'] 
def generatechess(): 

    return [[z+y for z in listeHoriz ] for y in listeVert] 
print(generatechess()) 

私は必死にどこかに「\ n」のを含めるようにしようとしていますが、havntは右の位置を見つけることができて、あなたはどこ知っていますか:私はこれまで得ているが、それは1行だけのものを印刷し 私はそれを置くべきですか? (リストの内包表記を使用して!)

+0

あなたのコードは実際には、 '[' 'と'] 'を使って変数全体を表示し、' 'A1 '、' B1'、...のまわりで' '...' 'を引用符で囲みます。あなたが与えたアウトプットが欲しい? – Holt

答えて

2

があなたのdef機能でこれを試してみてください:

def generatechess(): 
    print(*[[z+y for z in listeHoriz ] for y in listeVert], sep = '\n') 

generatechess() 

['A1', 'B1', 'C1'] 
['A2', 'B2', 'C2'] 
['A3', 'B3', 'C3'] 

包みなさいPython 2.7でこれを試してみたい場合は、最初のインポートとしてfrom __future__ import print_functionを指定する必要があります。を関数として使用します。

+1

私はこれが最良の答えだと思います。私は戻り値を保持し、代わりに 'print(* generatechess()、sep = '\ n')' –

+0

'sep'はPython 2.xで動作しません –

1

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

listeHoriz = ['A','B','C'] 
listeVert = ['1','2','3'] 
def generatechess(): 
    combinations = [str([z+y for z in listeHoriz ]) for y in listeVert] 
    return ("\n").join(combinations) 
print(generatechess()) 

または単にこの:

listeHoriz = ['A','B','C'] 
listeVert = ['1','2','3'] 
def generatechess(): 
    return [str([z+y for z in listeHoriz ]) for y in listeVert] 
print("\n".join(generatechess()))