列表项
<!-- eviivo Availability Checker -->
<script type="text/javascript" src="http://securebooking.eviivo.com/yourwebsite.availabilitychecker.1.0.min.js"></script>
<script type="text/javascript">
eviivo.availabilitychecker.create('#availabilitychecker', {
industryTypes: [1],
allowCrossDomainTracking: true,
template: 'horizontal'
});
</script>
<noscript><span class="eviivo_submit_noscript"><a href="http://securebooking.eviivo.com/mywebsite/yourwebsite.home" title="Book Online Now!">Check Availability</a></span><link rel="stylesheet" type="text/css" href="http://securebooking.eviivo.com/javascript/integration/eviivo.availabilitychecker.1.0.css" /></noscript>
<style type="text/css">
.eviivo_availabilitychecker {
width:auto !important;
height:auto !important;
color:#333333 !important;
background:#EEEEEE !important;
border: 1px solid #DDDDDD !important;
font-size:12px !important;
font-family:Arial !important;
}
.eviivo_title span {
color:#000000 !important;
font-size:12px !important;
font-family:Arial !important;
}
.eviivo_submit a {
color:#FFFFFF !important;
background:#F28226 !important;
border: 1px solid #CCCCCC !important;
font-size:12px !important;
font-family:Arial !important;
}
</style>
<div id="availabilitychecker"></div>
我在if条件下获取索引超出范围的错误。有什么错误?我已经在条件中使用len
答案 0 :(得分:1)
您的问题是i
的值不是列表的索引,而是列表中正在迭代的实际项。
循环中的else语句也是不必要的,因为它不会改变任何内容。
我认为这可以满足您的需求:
count = 0
num_list = [1, 2, 3, 3, 2, 1, 1]
for i in range(len(num_list) - 1):
if(num_list[i] == num_list[i + 1]):
count += 1
print(count)
# Output: 2
range(len(num_list) - 1)
将遍历所有索引,列表中的最后一个除外。因此,无需执行if检查以确保它没有超出范围。
答案 1 :(得分:1)
for i in num_list:
不会在长度/范围上进行迭代,而是在值上进行迭代。 例如
num_list = [3,4,1,5,3]
for i in num_list:
print(i)
将输出
3
4
1
5
3
相反,您要遍历索引,在这种情况下,您的foor循环应如下所示:
for i in range(len(num_list)):
以下代码
num_list = [3,4,1,5,3]
for i in num_list:
print(i)
将输出
0
1
2
3
4