如果您只想打印所有高于 50 的值,则可以使用简单的循环。
data = [10, 90, 20, 80, 30, 40, 70, 60]
for value in data:
if value > 50:
print(value)
如果您需要索引,请使用此代码。 enumerate 会给你一个自动计数器。
data = [10, 90, 20, 80, 30, 40, 70, 60]
for index, value in enumerate(data):
if value > 50:
print(index)
如果您需要一个索引列表来打印值(此时您的问题还不清楚),那么构造这个列表并循环它。
data = [10, 90, 20, 80, 30, 40, 70, 60]
indexes = [index for index, value in enumerate(data) if value > 50]
for index in indexes:
print(data[index])
根据您评论中的问题,您可以执行以下操作(基于最后一个解决方案)。
data = [10, 90, 20, 80, 30, 40, 70, 60]
characters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
indexes = [index for index, value in enumerate(data) if value > 50]
for index in indexes:
print('{}: {}'.format(characters[index], data[index]))
此代码使用两个列表的索引。
如果这是家庭作业并且您不能使用enumerate,则必须使用标准for 循环构造索引列表。
indexes = []
for index in range(len(data)):
if data[index] > 50:
indexes.append(index)
pythonic 解决方案是这样的。
data = [10, 90, 20, 80, 30, 40, 70, 60]
characters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
for char, value in zip(characters, data):
if value > 50:
print('{}: {}'.format(char, value))