我正在尝试使用NetworkX读取一个Shapefile并使用该函数write_shp()
生成将包含节点和边缘的Shapefile(在此示例之后 < - 此链接现在已经死了),但是当我尝试运行它给出的代码时我有以下错误:
Traceback (most recent call last): File
"C:/Users/Felipe/PycharmProjects/untitled/asdf.py", line 4, in
<module>
nx.write_shp(redVial, "shapefiles") File "C:\Python34\lib\site-packages\networkx\readwrite\nx_shp.py", line
192, in write_shp
for key, data in e[2].iteritems(): AttributeError: 'dict' object has no attribute 'iteritems'
Run Code Online (Sandbox Code Playgroud)
我正在使用Python 3.4并通过pip install安装NetworkX.
这个错误之前,它已经给了我另外一个说:"x范围不存在"或类似的东西,所以我看着它,只是改变xrange
以range
在nx_shp.py文件,这似乎解决它.
根据我的阅读,它可能与Python版本(Python2与Python3)有关.
我想打印一个特定的Python字典键:
mydic = {}
mydic['key_name'] = 'value_name'
Run Code Online (Sandbox Code Playgroud)
现在我可以查看是否mydic.has_key('key_name')
,但我想要做的是打印密钥的名称'key_name'
.当然我可以使用mydic.items()
,但我不希望列出所有键,只是一个特定的键.例如,我期待这样的事情(在伪代码中):
print "the key name is", mydic['key_name'].name_the_key(), "and its value is", mydic['key_name']
Run Code Online (Sandbox Code Playgroud)
有没有name_the_key()
方法可以打印密钥名称?
编辑:
好的,非常感谢你们的反应!:)我意识到我的问题没有很好的表达和琐碎.我只是感到困惑,因为我意识到key_name和mydic['key_name']
两个不同的东西,我认为打印key_name
出字典上下文是不正确的.但实际上我可以简单地使用'key_name'来指代密钥!:)
我正在尝试在 python 中探索 Algorithmia 图像标记器。
client.algo("deeplearning/IllustrationTagger/0.2.5")
client.algo("deeplearning/InceptionNet/1.0.3")
Run Code Online (Sandbox Code Playgroud)
但这与这个问题不太相关,因为它通常适用于字典。
for dict in dictList:
print(dict)
Run Code Online (Sandbox Code Playgroud)
这是输出:
//{'安全':0.9950032234191896}
//{'有问题':0.004409242421388626}
//{'显式':0.00011681715113809332}
我可以很好地访问密钥:
for dict in dictList:
for key in dict:
print(key)
Run Code Online (Sandbox Code Playgroud)
//安全的
//可疑的
//显式
但是当我试图解压密钥和值时:
for dict in dictList:
for key, value in dict:
print(key)
print(value)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
对于键,字典中的值:
ValueError:要解压的值太多(预期为 2)
如何访问键和值?
编辑:我已将 obj 和数组重命名为 dict 和 list 以免与 Javascript 符号混淆。