如何编辑此代码?

2024-03-29 02:25:24 发布

您现在位置: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循环?你知道吗


Tags: 代码名称loop列表names顺序aslist
2条回答

使用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))

通过将两个列表内容压缩到一个新列表中,可以存储组合列表。你知道吗

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'

相关问题 更多 >