gpt4 book ai didi

python - 如何找到列表中值的索引,增加值?

转载 作者:行者123 更新时间:2023-12-03 15:04:21 27 4
gpt4 key购买 nike

我有一个列表,看起来像:mot = [0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0]我需要附加到一个列表,当元素从 0 改变时的索引至 1 (而不是从 10 )。
我尝试执行以下操作,但它也会在从 1 更改时注册至 0 .

i = 0 
while i != len(mot)-1:
if mot[i] != mot[i+1]:
mot_daily_index.append(i)
i += 1
另外,但不是那么重要,是否有更干净的实现?

最佳答案

以下是如何使用列表理解来做到这一点:

mot = [0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0]
mot_daily_index = [i for i,m in enumerate(mot) if i and m and not mot[i-1]]
print(mot_daily_index)
输出:
[7, 24]
解释:
  • list(enumerate([7,5,9,3]))将返回 [(0, 7), (1, 5), (2, 9), (3, 3)] ,所以 ii for i, m in enumerate , 是 m 的索引在那个迭代中。
  • 关于python - 如何找到列表中值的索引,增加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62282800/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com