def singleNumber():
"""
:type nums: List[int]
:rtype: int
"""
nums = [1,3,3,5,5]
print(2*sum(set(nums))-sum(nums))
if __name__ == '__main__':
singleNumber()
很好理解, 2*sum(set(nums) set是吧重复的数据去掉 ,即重复的数据和值为 原来一倍,接着乘以二就是和值没有影响,但是那个单独出现一次的数的和值却变成了两倍,减去 没有处理过的列表和值就是它本身了。。。