Python 3:Function"包含字符串及其索引的列表"

时间:2018-06-10 20:48:04

标签: python python-3.x list indexing

编写一个函数,它将返回包含字符串及其索引的列表。例如['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],而不是我要找的。

4 个答案:

答案 0 :(得分:4)

您可以使用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']

答案 1 :(得分:1)

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

return x

答案 2 :(得分:0)

你的列表理解只是拉动索引而不是单词:

x = ["{} - {}".format(list_a.index(word), word) for word in list_a]

答案 3 :(得分:0)

尝试这样做:

for index, word in enumerate(list_a):
    print(str(index) + " - " + word)

这将为list_a中的每个主题添加索引号。然后将该索引添加到打印它的字符串中。如果你想将它添加到一个新的列表,我会这样做。

x = []
for index, word in enumerate(list_a):
    x.insert(len(x), str(index) + " - " + str(word))