python 列表报keyerror_python下网络中接收到列表,将字节循环转换成字符串,却报KeyError:1错误?...

import networkx as net

from urllib import request

def read_friends(g,name):

response = request.urlopen('https://www.livejournal.com/misc/fdata.bml?user='+name)

for line in response.readlines():

parts = line.split()

if len(parts) == 0:

continue

if parts[0] =='

g.add_edge(parts[1],name)

else:

g.add_edge(name,parts[1])

def snowball_sampling(g,center,max_depth = 1,current_depth = 0,taboo_list=[]):

print(center,current_depth,max_depth,taboo_list)

if current_depth == max_depth:

print('out of depth')

return taboo_list

if center in taboo_list:

print('taboo')

return taboo_list

else:

taboo_list.append(center)

read_friends(g,center)

for node in g.neighbors(center):

taboo_list = snowball_sampling(g,node,current_depth=current_depth+1,max_depth = max_depth,taboo_list=taboo_list)

def trim_degrees(g,degree = 1):

g2 = g.copy()

d = net.degree(g2)

print(g2.nodes())

L = g2.nodes()

for x in range(len(L)):

if x == 0:

continue

else:

L[x] = L[x].decode('utf-8')

print(L)

'''

for n in L:

if d[n] <= degree:

g2.remove_node(n)

return g2

'''

g = net.Graph()

snowball_sampling(g,'kozel_na_sakse')

core = trim_degrees(g)

print(len(core))

L[x] = L[x].decode('utf-8')这一行报错,错误原因KeyError:1

单独取出接收到字节使用循环转换得到字符串是没问题的,但是在这就报错

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值