Python Networkx附加';u';在从边列表读入节点名称之前。如何摆脱?

Python Networkx附加';u';在从边列表读入节点名称之前。如何摆脱?,python,graph,networkx,Python,Graph,Networkx,我通过nx.read\u edgelist()在Networkx中导入边信息,创建了一个图形。这一切都很好,图形也会加载 问题是,当我打印一个节点的邻居时,我会得到以下结果,例如 [u'own',u'record',u'spending',u'companys',u'back',u'shares',u'thats',u'amounts',u'are',u'busing'] 对图的节点和边的所有调用都会发生这种情况。它显然没有改变节点的名称,因为它不在引用中 有人能告诉我在打印图形节点时如何去掉这

我通过nx.read\u edgelist()在Networkx中导入边信息,创建了一个图形。这一切都很好,图形也会加载

问题是,当我打印一个节点的邻居时,我会得到以下结果,例如

[u'own',u'record',u'spending',u'companys',u'back',u'shares',u'thats',u'amounts',u'are',u'busing']

对图的节点和边的所有调用都会发生这种情况。它显然没有改变节点的名称,因为它不在引用中

有人能告诉我在打印图形节点时如何去掉这些“u”吗


我是一个Python新手,我相信这是非常明显和简单的事情

您不需要删除它们,它们只需指定编码类型。这有时会有帮助,但我想不出有什么时候它没有帮助。

如果您正在寻找一种方法来打印unicode字符串列表,而不使用所有额外的格式,如括号、引号和unicode指示符,请尝试以下方法:

>>> mylist = [u'own', u'record', u'spending', u'companies', u'back', u'shares', u'their', u'amounts', u'are', u'buying']
>>> print ', '.join(mylist)
own, record, spending, companies, back, shares, their, amounts, are, buying

你可以这样做:

print '[' + ', '.join(node.neighbors) + ']'
而不是:

print node.neighbors

它隐式地使用列表及其成员上的
repr()

这不是问题,这些只是unicode字符串。另外,如果您确实需要它:
str(u'a unicode字符串')==='a regular string'
…如果您使用Python 3,unicode字符串是默认字符串,它是ByTestRing(非unicode字符串)它们的打印方式不同。但是如果您使用的是Python2,并且还不打算移动?学会爱它。不必要地编码字符串会带来痛苦和痛苦。OTOH,如果您的目标是将它们与JSON解析器一起使用,请使用JSON生成器,不要盲目地相信
repr()
会做正确的事情。好吧,如果这些字符串要打印给最终用户,他们不应该看到
u
。我同意它们不是一个“bug”,但这里仍然有一个好问题。@AaronMcDaid,你为什么要在al向非技术性的最终用户显示
repr()
结果?总的来说,这似乎是个坏主意。如果该用户需要JSON,那么
JSON
模块就可以生成它。我现在明白了。每次打印出来都会让人觉得很不舒服。@user3687671不要将原始数据结构转储给用户;用格式化的字符串打印它们。