我一直在学习python,并且以某种方式提出了以下代码:

for item in list:
    while list.count(item)!=1:
        list.remove(item)

我想知道是否可以在c++中完成这种编码。 (在for循环中使用列表长度,同时减小其大小)如果没有,谁能告诉我为什么?

谢谢!

最佳答案

我不是Python大程序员,但似乎上述代码从列表中删除了重复项。这是等效的C++:

list.sort();
list.unique();

至于在遍历列表时修改列表,您也可以这样做。这是一个例子:
for (auto it = list.begin(), eit = list.end(); it != eit; ) {
    if (std::count(it, eit, *it) > 1)
        it = list.erase(it);
    else
        ++it;
}

希望能帮助到你。

07-24 09:47
查看更多