2017-10-03 10 views
-5

次のコードは、名前のリストとグリーティングのリストを取り、それらを結合して、1つのグリーティングがインデックスの順に1つの名前で適用されるようにします。私たちが "hi susan"、 "hola juan"などと言ったように。このコードを編集するには?

1.)私は次のコードを修正して、その人の今後の挨拶のために挨拶のリストに保存して、挨拶の組み合わせのリストを印刷することはできますか?

# Implemented as a While Loop. 
names_list = ['susan', 'juan', 'wolfgang', 'piere', 'aednat'] 
greetings_list = ['hi', 'hola', 'tag', 'salut', 'haigh'] 
idx = 0 
while idx < len(names_list): 
    greetings_list[idx] = greetings_list[idx] + " " + names_list[idx] 
    idx = idx + 1 
print(greetings_list) 

2.)whileループの代わりにforループを使用するには、このコードをどのように書き直すのですか?

+0

可能な重複繰り返すことができます[並列に二つのリストを反復処理する方法を?](https://stackoverflow.com/questions/1663807/how -to-iterate-through-two-lists-in-parallel) – Mark

+0

SOはコード作成サービスではありません。これまで問題を解決しようとしてきたことを私たちに示してください。 –

答えて

0

使用zipが同時に両方のリスト上を反復する(リストは同じ長さと同じインデックスの項目が関連して設けられた - この場合のように):

names_list = ['susan', 'juan', 'wolfgang', 'piere', 'aednat'] 
greetings_list = ['hi', 'hola', 'tag', 'salut', 'haigh'] 

for greeting, name in zip(greetings_list, names_list): 
    print("%s %s" % (greeting, name)) 
+0

これは次のようになります:names_list = ['susan'、 'juan'、 'wolfgang'、 'piere'、 'aednat'] greetings_list = ['hi'、 'hola'、 'tag'、 ' (greetings_list) – Dirk

+0

私が得ている出力はsusanです。(gretings_list) 名前の挨拶、ハイテク フアンはいはい ヴォルフガングタグ piereメールsalut aednatのヘーグ [ 'こんにちは'、 'はいはい'、 'タグ'、 'メールsalut'、 'ヘーグ'] – Dirk

+0

@Dirkが、私はそう信じて - 、私は興味が:なぜあなたは 'greetings_list'を出力していますか?最初のコメントでそれを使用すると、そのリストを更新したいようです - それは正しいのですか? – jrd1

0

あなたが組み合わされたリストを格納することができます2つのリストの内容を新しいリストに圧縮することによって、

combined_list = [ [greeting, name] for name,greeting in zip(names_list,greetings_list)] 

その後、必要に応じて、あなたはそれを介しての

>>> for i in combined_list: 
    ' '.join(i) 

'hi susan' 
'hola juan' 
'tag wolfgang' 
'salut piere' 
'haigh aednat' 
+0

を参照してください。こんにちは、あなたが私に与えた出力は、望ましいソリューションに近づきます。ありがとうございました!しかし、それは次のように印刷されています:['' hi '、' susan ']' 'hola' '' juan '' ''タグ '' '' wolfgang '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' haight '、' aednat ']]括弧を取り除く方法はありますか? – Dirk

+0

ここに私のコードを入れます:names_list = ['susan'、 'juan'、 'wolfgang'、 'piere'、 'aednat'] greetings_list = ['hi'、 'hola'、 'tag'、 ' Salutの」、 '' combined_listにiについて(greetings_list、names_list)] ZIPに挨拶、名前用 IDX = 0 combined_list = [[挨拶、名前]: 'をHaighの' .join(I) プリント(combined_list ) – Dirk

+0

あなたは結合されたリストを印刷しています。これを印刷します:combined_listのiの場合: print '' .join(i) –