我发现两个列表的任何重叠元素(如果存在),并将其转换为整数。
list_converter = intersection[0]
它返回一个只包含一个值或没有值的列表。如果没有价值,我得到:
list_converter = intersection[0]
IndexError: list index out of range
有没有更好的方法来执行此操作,或者在没有列表为空时避免错误?
答案 0 :(得分:1)
您可以这样做:
if intersection:
list_converter = intersection[0]
else:
print "No intersection" # Or whatever you want to do if there isn't an intersection
在python中,空列表(即[]
)计算为False
,因此可以使用其真值检查空列表。
答案 1 :(得分:0)
list(set(list1).intersection(list2))
答案 2 :(得分:0)
您可以使用if语句检查列表的长度:
if len(intersection) > 0:
list_converter = intersection[0]
else:
print "List is empty!"
答案 3 :(得分:0)
如果您想在intersection
为空时获取空列表,可以使用:
list_converter = intersection[0:1]
因为当切片的末尾超出列表的末尾时不会引发错误:
l = [1, 2 ,3]
l[0:1]
# [1]
l = []
l[0:1]
#[]
如果您还想要其他内容,请使用try / except
块:
try:
list_converter = intersection[0]
except IndexError:
list_converter = whatever you want