我一直在学习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;
}
希望能帮助到你。