如何编辑此代码?

时间:2017-10-03 05:45:23

标签: python

以下代码将采用名称列表和问候列表并将它们组合在一起,以便按照索引的顺序应用一个名称。比如我们说“喜苏珊”,“霍拉胡安”等等。

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.。)如何重写此代码以使用for循环而不是while循环?

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分:0)

您可以通过在新列表中压缩两个列表内容来存储组合列表。

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'