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