2017-07-12 8 views
-3

私はこのようになりますリストを生成しようとしていますと、リストの生成:文字列と数

リスト= [ 'A1'、A2 ''、 'A3'、 'A4'、 'A5'、「をa6 '、' a7 '、' a8 '、' a9 ']、[b1'、 'b2'、 'b3'、 'b4'、 'b5'、 'b6'、 'b7'、 'b8' 「f1」、「f2」、「f3」、「f4」、「f5」、「f9」、「f9」、「f9」、次のように」、 'F6'、 'F7'、 'F8' 'F9']

私が入れたコードは次のとおりです。

rows = ['a','b','c','d','e','f'] 
newrow=[] 
for i in rows: 
    print('') 
    for j in range(9): 
    newrow.append(i + str(j+1)) 

print(list(newrow)) 

は、明らかに私はここで何かが欠けています。

+2

'newrow.append(i + str(j + 1))'の行にインデントがないだけです。 – JavoSN

+0

申し訳ありませんが、ここで入力したコードでインデントが間違っていました。私は実際にそれを持っています。私が必要とするのはリストのリストです。 a9とb1の間の角括弧に注意してください。= ['a1'、 'a2'、 'a3'、 'a4'、 'a5'、 'a6'、 'a7'、 'a8'、 'a9' 'b1'、 'b2'、 'b3'、 'b4'、 'b5'、 'b6'、 'b7'、 'b8'、 'b9']、['c1'、 'c2' ......]、...... ['f1'、 'f2'、 'f3'、 'f4'、 'f5'、 'f6'、 'f7'、 'f8'、 'f9'] –

+0

あなたのコードは、私のコンピュータのインデントでうまく動作します。 – JavoSN

答えて

0

構文が間違っています。

forループの下にあるコンテンツのインデントが必要です。さもなければ、それはループがボディを持っているとは思わないので、それを完全にスキップします。

for i in range(1,10): 
    print("Do something"); 

ませ

for i in range(1,10): 
print("Do something"); 

上記のコードは、一度印刷されます。最初の例は10回印刷されます。

+0

私がここに入力したコードのインデントは間違いでした。私は実際にそれを持っています。私が探しているのはリストのリストです。 a9とb1の間の角括弧に注意してください。ありがとうございました。 list = ['a1'、 'a2'、 'a3'、 'a4'、 'a5'、 'a6'、 'a7'、 'a8'、 'a9']、['b1'、 'b2' 「b3」、「b4」、「b5」、「b6」、「b7」、「b8」、「b9」〕、「c1」、「c2」、.........] .... ['f1'、 'f2'、 'f3'、 'f4'、 'f5'、 'f6'、 'f7'、 'f8'、 'f9'] –

+0

今すぐ書き込んでください。 10分後にあなたに送り返してください。 – ajax992

+0

@Hello_Boyここでお友達になります。https://pastebin.com/25FmjU6n – ajax992

0

はちょうどそれがリストにそれが値を追加しようとするたびにルックアップする必要はありませんので、リストの内包がループよりも通常は高速ですリストの内包

rows = ['a','b','c'] 
newrow = [[i+str(j) for j in range(1,10)] for i in rows] 

としてそれを行います。

+0

リストの理解のためのコードをありがとう。私はこれらのことについてまだスピードアップしていません。しかし、私が探しているのはリストのリストです。 a9とb1の間の角括弧に注意してください。あなたが私にリストの理解の方法を使用してこれのコードを示すことができれば感謝します。ありがとうございました。list = ['a1'、 'a2'、 'a3'、 'a4'、 'a5'、 'a6'、 'a7'、 'a8'、 'a9']、['b1'、 'b2' 'b3'、 'b4'、 'b5'、 'b6'、 'b7'、 'b8'、 'b9']、['c1'、 'c2'、.........] ..... ['f1'、 'f2'、 'f3'、 'f4'、 'f5'、 'f6'、 'f7'、 'f8'、 'f9'] –

+0

マイコードを更新しました。もしそれがあなたが欲しいものならば答えを受け入れてください。 – lordingtar

+0

ありがとう。それはきちんとしていた。 –

0

あなたが別のリスト(あなたの最初の例のブラケットを維持する)として各文字を維持したい場合は、各文字を追加する必要があり、その後、内側のループ内の各番号に追加します。

rows = ['a','b','c','d','e','f'] 
newrow = [] 
for i in range(len(rows)): 
    newrow.append([]) 
    for j in range(9): 
     newrow[i-1].append(rows[i] + str(j+1)) 

print(list(newrow)) 

しかし、私は本当にあなたがリストの理解に目を向けることを提案しています。@ literatterの答えはネストされたリストの理解であり、最初は難しく見えるかもしれませんが、一度それに慣れると、とても簡単です。