相关疑难解决方法(0)

为什么"return list.sort()"返回None,而不是列表?

我已经能够验证findUniqueWords确实导致排序list.然而,它没有findUniqueWordslist,为什么呢?

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)

python sorting return list

126
推荐指数
7
解决办法
11万
查看次数

STL中是否有分类容器?

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.

c++ sorting containers stl vector

28
推荐指数
2
解决办法
3万
查看次数

Python相当于java.util.SortedSet?

有人知道Python是否具有与Java的SortedSet接口等效的东西吗?

继续我正在寻找的东西:假设我有一个类型的对象foo,我知道如何比较两个类型的对象,foo看看foo1是"大于"还是"小于" foo2.我想要一种foo在列表中存储许多类型对象的方法L,这样每当我遍历列表时L,我按照我定义的比较方法按顺序获取对象.

编辑:

我想我sort()每次修改它都可以使用字典或列表,但这是最好的方法吗?

python data-structures

21
推荐指数
2
解决办法
8205
查看次数

python 中的 c++ map&lt;int, int&gt;

有谁知道Python上的C++等效项吗?最初我以为我可以通过在 python 上初始化一个简单的数组来复制这个,但它显然不会做同样的事情。有任何想法吗?

map<int, int>
Run Code Online (Sandbox Code Playgroud)

亲切的问候和非常感谢,

罗德里戈

c++ python dictionary

6
推荐指数
1
解决办法
3607
查看次数

有序字典未排序

我一直在网上研究一种创建有序字典的简单方法,并使用 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)

有人可以帮助我吗?

python ordereddictionary

2
推荐指数
1
解决办法
494
查看次数