2013-03-21 77 views

回答

20

您检查长度:

len(x) >= 4 

,或者你赶上IndexError例外:

try: 
    value = x[3] 
except IndexError: 
    value = None # no 4th index 

你用什么取决于你多久可以预期有成为第4个值。如果通常在那里,请使用异常处理程序(更好地请求原谅);如果你主要是不要有第4个值,测试的长度(看你之前跳过)。

+4

不错,您向新用户展示了LBYL和EAFP模式。 (@A_B,谷歌他们) – forivall 2013-03-21 17:32:54

+0

这很好,如果你的测试数量是一个已知的固定值,但如果它是一个整数变量,你可能不想接受负值作为有效,尽管他们将成功索引到列表中。 – 2018-01-28 09:41:24

+0

@SimonHibbs或者首先对这个值进行规范化(将len(x)'加到负指数,所以'normalized = len(x)+ idx if idx <0 else idx'),然后检查是否0 <= normalized 2018-01-28 10:03:50

3

你想检查列表是否是4个或更多元素?

len(x) >= 4 

你想检查一个系列中的第四个元素是否在列表中?

'd' in x 
相关问题