python typeerror对象不支持_Python TypeError:“type”对象不支持项赋值

这里有很多问题,我会一个一个地解决

数据结构dict = {}

这不仅覆盖了python的dict(参见mgilson的注释),而且这是项目的错误数据结构。应该改用列表(如果有唯一的无序值,则使用集合)

使用数据结构

数据结构是一个实例变量,需要用self和__init__函数定义它。你应该用这样的东西:class TwoSum(object):

def __init__(self):

self.numbers = []

添加定义def add(self,n):

dict[n] = n

将项目分配给词典并不是这样做的。你应该把它附加到你的列表中。此外,您还需要使用self.variableName = value附加到该实例的列表中

定义查找

这个范围是错误的,您需要一个嵌套的范围,或者itertools.combinations,因为您必须检查任意两个总和为某个值的数字,pythonssum()在这里很方便。

要循环遍历数字,可以使用两个范围或itertools.combinations

守则import itertools

class TwoSum(object):

def __init__(self):

self.numbers = []

def add(self, num):

self.numbers.append(num)

def find(self, desiredSum):

for nums in itertools.combinations(self.numbers, 2):

if sum(nums) ==

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值