我正在帮助完成一项应该完成此任务的任务。这是一个简单的问题,但它要求使用index()
函数和切片函数。我不知道如何做到这一点。我不确定为什么需要这两个函数来做这样的事情。话虽如此,任何人都可以分享一些关于如何做到这一点的知识吗?
问问题
40 次
2 回答
1
>>> L = [1, 2, 3, 4, 6, 7, 8, 9, 5, 5]
>>> any(item in L[L.index(item)+1:] for item in L)
True
>>> L = [1, 2, 3, 4, 6, 7, 8, 9, 5]
>>> any(item in L[L.index(item)+1:] for item in L)
False
如果您真的需要使用该slice
功能而不仅仅是切片
>>> any(item in L[slice(L.index(item)+1, None)] for item in L)
于 2013-10-28T02:04:23.557 回答
0
如果你绝对必须使用index
和切片,你可以写
def occurs_twice(lst, elem):
try:
i1 = lst.index(elem)
except ValueError:
return False
try:
i2 = lst[i1+1:].index(elem)
except ValueError:
return False
return True
print occurs_twice([1, 2, 3, 4, 6, 7, 8, 9, 5, 5], 5)
于 2013-10-28T00:56:27.097 回答