编写一个函数,该函数将返回包含字符串及其索引的列表。例如['good', 'morning']-> ['0 - good', '1 - morning']

我尝试了这个:

def add_index(list_a):

    x = []
    for word in list_a:
        x = [list_a.index(word) for word in list_a]

    return x


但是,返回的是[0, 1],而不是我想要的。

最佳答案

您可以使用enumerate函数:

>>> def f(data):
...     return ['{} - {}'.format(i, s) for i, s in enumerate(data)]
...
>>> f(['good', 'morning'])
['0 - good', '1 - morning']


如果您使用的是Python 3.6+,则还可以使用f-strings

>>> def f(data):
...     return [f'{i} - {s}' for i, s in enumerate(data)]
...
>>> f(['good', 'morning'])
['0 - good', '1 - morning']

09-25 15:32