我是Python,试图理解给的关于文档中唯一单词计数问题的答案。答案是:
print len(set(w.lower() for w in open('filename.dat').read().split()))
将整个文件读入内存,使用空格将其拆分为单词,将每个单词转换为小写,从小写单词创建(唯一)集,对其进行计数并打印输出。
为了理解这一点,我尝试用Python一步一步地实现它。我可以用打开和读取的方式导入文本块,用拆分将其分割成单独的单词,并使用更低的大小写使它们都更低。我还可以在列表中创建一组独特的单词。然而,我不知道如何做最后一部分-数的独特的词数。
我认为
我目前正在运行以下代码:
for dicword in dictionary:
for line in train:
for word in line:
if dicword == word:
pWord[i] = pWord[i] + 1
i = i + 1
其中字典和pWord是一个相同大小的一维列表,而train是一个2D列表。
字典和训练都很大,代码执行得很慢。
一般情况下,我如何优化这段特定的代码和代码?
编辑:train是一个包含大约2000个列表的列表,每个列表都包含从文档中提取的单个单词。d
我有一个文件,其中包含用逗号分隔的单词,例如:
tom,harry,ant,qqqq
aa,ww,rr,gg,aa,hh,ss
我想用逗号分隔每个元素,并填写如下列表:
array=['tom','harry','ant','qqqq','aa','ww','rr','gg','aa','hh','ss']
到目前为止我试过:
array=list()
for i in open(filename):
elem
大家好,我编写了一个函数,它包含( int * float* int)列表-> int* float *int
let least lst =
List.fold_left
(fun (a1,f1,b1) (a2,f2,b2) ->
if f1 < f2 then (a1,f1,b1)
else (a2,f2,b2))
(List.hd lst)
lst
它给出了具有最低浮点值的元素,我测试了它,并且运行得很好。
现在我在想,我可以使用这个函数,使其降序到
let descending lst =
我使用any和一个列表理解。当any返回True时,我想打破对列表的理解。例如,
import time
def f(x):
time.sleep(2)
return x
beginTime = time.time()
result = any([f(x) == 0 for x in [0,1,3,5,7]])
endTime = time.time()
print(endTime - beginTime)
上面的代码打印10秒,尽管它可以在第一个True之后中断迭代。
我有多模块Maven项目:
带有注释实体的JPA模块(Hibernate实现)。
Rest--服务模块--依赖于模块1,端点使用模块1中的实体序列化JSON。
Rest-客户端模块:这个库基于 (这个jar库也用于Java项目和Android ),为了反序列化JSON模型,它还需要依赖于模块1。但是这里的实体需要是简单的POJO(没有JPA注释)
我不希望模块3对模块1有依赖性,并将所有Hibernate jars都包含在RestClient中(它不需要它)。
我认为t want to copy Entities only in module 3 and manually
我有两个List<Object[]>,我需要比较其中的值,并创建一个只包含唯一值的最终列表。
例如:
List<Object[]> list1 has n rows of object list with 5 columns
[[val1,val2,val3,val4,val5],[val1_,val2_,val3_,val4_,val5_]]
List<Object[]> list2 has n rows of Object list with 4 columns
[[val3_,val4_,val5_,val6_],[val2,val3,val
我有一份清单:
words = ['1,2,3,4',
'5,7,8,4',
'1,2,3,9']
我的目标是用单词创建一个新的列表,但是没有重复的数字。
这里是我想要的一个例子!
new_list=[1,2,3,4,5,7,8,9]
我做到了:
words = ['1,2,3,4',
'5,7,8,4',
'1,2,3,9']
new_list = []
for i in words :
if i not in ne