列表方法 count() 用于返回该列表中指定元素出现的次数;index() 方法用于返回指定元素在列表中首次出现的位置,如果该元素不在列表中则抛出异常。
x = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
print(x.count(3)) # 元素3在列表中出现的次数
print(x.count(5)) # 不存在返回0
print(x.index(2)) # 元素2在列表x中首次出现的索引
# print(x.index(5))#列表x中没有5,抛出异常
列表对象的很多方法在特殊情况下会抛出异常,而一旦出现异常,整个程序就会崩溃。为避免引发异常而导致程序崩溃,一般来说有两种方法:① 使用选择结构确保列表中存在指定元素再调用有关的方法。② 使用异常处理结构。
下面的代码使用异常处理结构保证用户输入的是三位数,然后使用关键字 in 来测试用户输入的数字是否在列表中,如果存在则输出其索引,否则提示不存在。
from random import randint
seq = [randint(100, 1000) for i in range(10)]
print(seq)
while True:
x = input('Please number: ')
try:
assert len(x) == 3, 'len==3'
x = int(x)
break
except:
pass
if x in seq:
print('index: ', seq.index(x))
else:
print('not in')