循环是为了测试not list == 'X',然后是not range(2, 4) == 'X';显然,两者都不相等,所以要同时打印两次。你的逻辑可以大大简化。如果目标是查看索引2、3和4是否都相等,只需将列表的该部分转换为set,并检查长度是否为1:
mylist = ['X', 'Y', 'X', 'X', 'X', 'Y'] # Changed list name; naming the list "list" leads to tears
if len(set(mylist[2:5])) == 1:
print("2, 3 and 4 equal")
else:
print("At least one not equal to the others")
def check_same(mylist, start_index, end_index):
value = mylist[start_index]
for element in mylist[start_index + 1 : end_index]:
if not element == value:
return False
return True
循环是为了测试
not list == 'X'
,然后是not range(2, 4) == 'X'
;显然,两者都不相等,所以要同时打印两次。你的逻辑可以大大简化。如果目标是查看索引2、3和4是否都相等,只需将列表的该部分转换为set
,并检查长度是否为1:您可能还希望检查
mylist
是否足够长(如果切片没有获得预期的三个元素,则切片不会引发错误),如本文所述,这只测试列表是否至少有3个元素,并且从索引2到4的任何元素都是相等的(如果存在的话)。在我相信有更优雅的方法可以做到这一点,但你可以试试:
相关问题 更多 >
编程相关推荐