python 'str' object has no attribute 'append'怎么解决

nb=[]foriinG.nodes():a.append(G.degree(i))total=0fornbinG.neighbors(i):total=total+G.... nb=[]

for i in G.nodes():

a.append(G.degree(i))
total=0

for nb in G.neighbors(i):

total=total+G.degree(nb)
nb.append(total)//
这句话有错提示 in <module>
nb.append(total)
AttributeError: 'str' object has no attribute 'append'
哪里有问题?没有str类型啊?
展开
 我来答
春风得使扶农9
推荐于2019-10-16 · TA获得超过6.8万个赞
知道大有可为答主
回答量:6794
采纳率:80%
帮助的人:211万
展开全部

原因:append会修改a本身,并且返回None。不能把返回值再赋值给a。

a=[]

b=[1,2,3,4]

a = a.append(b)

执行一次后发现a的类型变为了NoneType。

下次执行时就会出现如题所示的错误。

把a = a.append(b)改为a.append(b)后问题解决。

扩展资料

问题分析:问题出在这里:a = a.append(b)

要知道,append方法是没有返回值的。也就是说,上述语句第一次会成功执行,并且将a赋值为None;第二次调用就会报错,因为None是不能调.append方法的,修改方法也简单,a.append(b)就可以了,不要接返回值。

ne0787411
推荐于2018-02-23 · TA获得超过151个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:119万
展开全部
nb=[]

for i in G.nodes():
   a.append(G.degree(i))
   total=0
   
   #for nb in G.neighbors(i):  # 这里的nb和全局变量  nb = [] 同名了吧,改一下呢
   for j in G.neighbors(i):
      #total=total+G.degree(nb)  #这里应该变成j吧
      total += G.degree(j)
      nb.append(total)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式