[英]iterating indexes of items in a list with a condition 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 = coinflipping()
print(sides)
for i in sides:
if i == 'H':
print(sides.index(i))
这是 output:
这是一种方法:
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
是您的 static 列表,因此它始终返回1
,因为在您的random
情况下, H
首先在索引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.
尝试:
for i in range(len(sides)):
if sides[i] == 'H':
print(i)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.