我想找到一个更好的方法来实现这个:
d = {"a": {"b": {"c": 4}}}
l = ["a", "b", "c"]
for x in l:
d = d[x]
print (d) # 4
Run Code Online (Sandbox Code Playgroud)
我正在学习函数式编程,所以我只是尝试随机的例子来到我脑海里:)
映射不调用正在传递的函数.
class a:
def getDateTimeStat(self,datetimeObj):
print("Hello")
if __name__ == "__main__":
obj = a()
print("prog started")
data = [1,2,3,4,5]
b = list(map(obj.getDateTimeStat,data))
Run Code Online (Sandbox Code Playgroud)
在新行上预期的操作:Hello Hello Hello Hello Hello
任何帮助将不胜感激....
我试图在Python(v3.3)中使用SPARQLWrapper查询DBpedia.这是我的查询:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?slot WHERE {
<http://dbpedia.org/resource/Week> <http://www.w3.org/2002/07/owl#sameAs> ?slot
}
Run Code Online (Sandbox Code Playgroud)
它会导致SPARQLWrapper包出错:
ValueError:无效\转义:第118行第74列(字符11126)
码:
query = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?slot WHERE{{ {subject} {predicate} {object} }} "
query = query.format(subject=subject, predicate=predicate, object= objectfield)
self.sparql.setQuery(query)
self.sparql.setReturnFormat(JSON)
results = self.sparql.query().convert() # Error thrown at this line
Run Code Online (Sandbox Code Playgroud)
错误:
Traceback (most recent call last):
File "getUriLiteralAgainstPredicate.py", line 84, in <module>
sys.exit(main())
File "getUriLiteralAgainstPredicate.py", line 61, in main
entity,predicateURI,result = p.getObject(dataAtURI,predicates, each["entity"])
File "getUriLiteralAgainstPredicate.py", line 30, in getObject
result = self.run_sparql("<"+subjectURI+">","<"+predicateURI+">","?slot")
File "getUriLiteralAgainstPredicate.py", line …Run Code Online (Sandbox Code Playgroud) 我希望将数据帧转换为列表.这是一个示例数据帧:
colname name age address
1 John 22 Singapore
2 James 44 India
3 Jessie 21 Australia
Run Code Online (Sandbox Code Playgroud)
我想将其转换为如下列表:
Name : John Age: 22 Address: Singapore
Name : James Age: 44 Address India
Name : Jessie Age: 21 Address: Australia.
Run Code Online (Sandbox Code Playgroud)
所以基本上我希望在单个R数据类型中获得列名和行的相应值的聚合.
as.list 不适合我.
因此,我通过执行以下几行来创建CountVectorizer对象。
count_vectorizer = CountVectorizer(binary='true')
data = count_vectorizer.fit_transform(data)
Run Code Online (Sandbox Code Playgroud)
现在我有了一个新字符串,我想将此字符串映射到我从CountVectorizer获得的TDM矩阵。因此,我期望输入到TDM的字符串是一个对应的文档术语向量。
我试过了,
count_vectorizer.transform([string])
Run Code Online (Sandbox Code Playgroud)
给了一个错误,AttributeError:找不到转换添加一个堆栈跟踪的一部分,它是一个很长的堆栈跟踪,因此我只添加了相关的位,它们是跟踪的最后几行。
File "/Users/ankit/Desktop/geny/APIServer/RUNTIME/src/controller/sentiment/Sentiment.py", line 29, in computeSentiment
vec = self.models[model_name]["vectorizer"].transform([string])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/scipy/sparse/base.py", line 440, in __getattr__
raise AttributeError(attr + " not found")
Run Code Online (Sandbox Code Playgroud)
请指教。
谢谢
安吉特S