TypeError:“间隔”对象不可迭代

时间:2018-09-27 23:02:56

标签: python python-3.x

# Definition for an interval.
# class Interval:
#     def __init__(self, s=0, e=0):
#         self.start = s
#         self.end = e

class Solution:
    def merge(self, intervals):
        """
        :type intervals: List[Interval]
        :rtype: List[Interval]
        """

        out = []  
        for i in sorted(intervals, key=lambda i: i.start):
            if out and i.start <= out[-1].end:
                out[-1].end = max(out[-1].end, i.end)
            else:
                out += i
        return out

第二行,出+ = i,出现此错误:
“间隔”对象不可迭代。

我相信添加逗号后会起作用:

出+ =我,

但是我不知道为什么,有人可以解释吗?

1 个答案:

答案 0 :(得分:2)

如果要将单个项目添加到列表的末尾,通常使用append

out.append(i)

您还可以通过使用+=添加可迭代项或元素序列(例如列表和元组)来扩展列表。

i不是序列,因此out += i不起作用。

但是i,是一个序列。这是一个包含i的元组。

所以

out += i,

有效。就像你写的一样

out += (i,)
相关问题