使用python条件迭代列表中项目的索引

使用python条件迭代列表中项目的索引,python,Python,我想打印出“H”项的索引,但它被卡在一个项中 这是我的密码: import random def coinflipping(): #generating 100 coin flips coins = [] coin_sides = ['H', 'T'] for i in range(100): coins.append(coin_sides[random.randint(0, 1)]) return coins sides = coin

我想打印出“H”项的索引,但它被卡在一个项中

这是我的密码:

import random

def coinflipping():
    #generating 100 coin flips
    coins = []
    coin_sides = ['H', 'T']
    for i in range(100):
        coins.append(coin_sides[random.randint(0, 1)])
    return coins

sides = coinflipping()
print(sides)

for i in sides:
    if i == 'H':
        print(sides.index(i))
以下是输出:

试试:

for i in range(len(sides)):
    if sides[i] == 'H':
        print(i)

这不是最好的方法,但它会起作用

import random

def coinflipping():
    #generating 100 coin flips
    coins = []
    coin_sides = ['H', 'T']
    for i in range(100):
        coins.append(coin_sides[random.randint(0, 1)])
    return coins

sides = coinflipping()
print(sides)
c = -1
for i in sides:
    c = c +1
    if i == 'H':
        print(c)

这是一种方法:

import random

def coinflipping():
    #generating 100 coin flips
    coins = []
    coin_sides = ['H', 'T']
    for i in range(100):
        coins.append(coin_sides[random.randint(0, 1)])
    return coins

sides = coinflipping()
print(sides)

for i,t in enumerate(sides):
    if t == 'H':
        print(i)

请记住,
index
返回项目的第一次出现。由于
sides
是静态列表,它总是返回
1
,因为
H
是在
random
案例中的索引
1
中首先遇到的

你可以选择枚举

另一种方法是:

a = [np.random.choice(['H','T']) for x in range(100)]
result = [x[0] for x in enumerate(a) if x[1]=='H']

# returns a list of indexes where 'H' was flipped.

请以文本形式而非图像形式提供代码。这更容易尝试您的代码。有关详细信息,请参阅。@hninsat编辑您的问题并向其添加相关代码-这样,问题本身的格式和可用性都会正确。评论中的图像和代码不利于可访问性,也不利于阅读者理解问题。对不起,我是新手,我刚刚编辑了我的问题:0@hninsat请将您的代码添加到您的问题中,并用3`环绕,以便每个人都能轻松阅读。
range(len(sides))
是试用次数,当然,它将大于边的数量,因此
sides[i]
将给出错误。工作完全没有错误范围从0开始索引从0开始