我已经能够验证findUniqueWords确实导致排序list.然而,它没有findUniqueWords了list,为什么呢?
def findUniqueWords(theList):
newList = []
words = []
# Read a line at a time
for item in theList:
# Remove any punctuation from the line
cleaned = cleanUp(item)
# Split the line into separate words
words = cleaned.split()
# Evaluate each word
for word in words:
# Count each unique word
if word not in newList:
newList.append(word)
answer = newList.sort()
return answer
Run Code Online (Sandbox Code Playgroud) STL中是否有分类容器?
我的意思是:我有一个std::vector<Foo>,Foo定制的类在哪里.我还有一个比较器,它将比较类的字段Foo.
现在,我在我的代码中的某个地方:
std::sort( myvec.begin(), myvec.end(), comparator );
Run Code Online (Sandbox Code Playgroud)
它将根据我在比较器中定义的规则对矢量进行排序.
现在我想在Foo该向量中插入一个class元素.如果可以的话,我想写一下:
mysortedvector.push_back( Foo() );
Run Code Online (Sandbox Code Playgroud)
会发生什么,矢量会根据比较器将这个新元素放到它的位置.
相反,现在我必须写:
myvec.push_back( Foo() );
std::sort( myvec.begin(), myvec.end(), comparator );
Run Code Online (Sandbox Code Playgroud)
这只是浪费时间,因为矢量已经排序,我需要的是适当地放置新元素.
现在,由于我的程序的性质,我不能使用,std::map<>因为我没有键/值对,只是一个简单的向量.
如果我使用stl::list,我再次需要在每次插入后调用sort.
有人知道Python是否具有与Java的SortedSet接口等效的东西吗?
继续我正在寻找的东西:假设我有一个类型的对象foo,我知道如何比较两个类型的对象,foo看看foo1是"大于"还是"小于" foo2.我想要一种foo在列表中存储许多类型对象的方法L,这样每当我遍历列表时L,我按照我定义的比较方法按顺序获取对象.
我想我sort()每次修改它都可以使用字典或列表,但这是最好的方法吗?
有谁知道Python上的C++等效项吗?最初我以为我可以通过在 python 上初始化一个简单的数组来复制这个,但它显然不会做同样的事情。有任何想法吗?
map<int, int>
Run Code Online (Sandbox Code Playgroud)
亲切的问候和非常感谢,
罗德里戈
我一直在网上研究一种创建有序字典的简单方法,并使用 OrderedDict 及其更新方法,我已经成功实现了一次,但是现在代码往往不会对添加的术语进行排序,例如放置的项目是:
Doc1: Alpha, zebra, top
Doc2: Andres, tell, exta
Output: Alpha, top, zebra, Andres, exta, tell
My goal is to have Alpha, Andres......, top, zebra
Run Code Online (Sandbox Code Playgroud)
这是代码:
finalindex= collections.OrderedDict()
ctr=0
while ctr < docCtr:
filename = 'dictemp%d.csv' % (ctr,)
ctr+=1
dicTempList = io.openTempDic(filename)
print filename
for key in dicTempList:
if key in finalindex:
print key
for k, v in finalindex.items():
newvalue = v + "," + dicTempList.get(key)
finalindex.update([(key, newvalue)])
else:
finalindex.update([(key, dicTempList.get(key))])
io.saveTempDic(filename,finalindex)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我吗?