列表中的相同位置?

2024-06-16 10:36:07 发布

您现在位置:Python中文网/ 问答频道 /正文

words = ['me','me']
def nth_char(words):
    newArray = []
    for i in words:
        x = words.index(i)
        newArray.append(x)
    return newArray

我得到的不是[0,1],而是[0,0],为什么??? 还有其他更简单的方法吗? 我是编程新手,欢迎任何帮助


Tags: 方法inforindexreturndef编程me
2条回答

始终.index()返回找到的第一个索引,您需要签入循环并使用enumerate如下所示:

>>> words = ['me', 'you','me']
>>> for idx, w in enumerate(words):
...    if w == 'me':
...        print(idx)
0
2

>>> [idx for idx, w in enumerate(words) if w == 'me']
[0,2]

# for more explanation
>>> for idx, w in enumerate(words):
...    print(idx, w)
0 me
1 you
2 me

试试这个:

words = ['me','me']
def nth_char(words):
    newArray = []
    for index, element in enumerate(words):
        newArray.append(index)
    return newArray

相关问题 更多 >