使用python条件迭代列表中项目的索引
我想打印出“H”项的索引,但它被卡在一个项中 这是我的密码:使用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
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开始