更改包含RDFlib术语的dict键的名称

时间:2016-04-18 07:16:15

标签: python dictionary linked-data rdflib

过去曾问过这个问题的一个变体。但是,我无法得到适合我的回复。这是我的样本词典:

{rdflib.term.URIRef(u'<http://purl.org/net/ontology#isGivenDrugA>'): rdflib.term.Literal(u'<http://purl.org/net/ontology#dose1>')}
{rdflib.term.URIRef(u'<http://purl.org/net/ontology#isGivenDrugB>'): rdflib.term.Literal(u'<http://purl.org/net/ontology#dose2>')}
{rdflib.term.URIRef(u'<http://purl.org/net/ontology#isGivenDrugC>'): rdflib.term.Literal(u'<http://purl.org/net/ontology#dose3>')}

我想将每个词组中的第一个词重命名为isNotGivenDrugA或B或C.例如:

{rdflib.term.URIRef(u'<http://purl.org/net/ontology#isNotGivenDrugA>'): rdflib.term.Literal(u'<http://purl.org/net/ontology#dose1>')}

我该怎么办?

这是我到目前为止的代码:

for s in notGivenDrugList:
        print ('s: ',s)
        for k,v in s.iteritems():
            print k

k给了我每个词典的第一个词。如果我为它指定一个基于k.replace的值,则不能用作dict的键是不可变的,而iteritems只能创建键的副本。

1 个答案:

答案 0 :(得分:1)

你做不到。您需要使用所需的键重新创建字典项。