在dlang中是否有类似python popitem的方法用于关联数组?

KOl*_*egA 5 associative-array d

我想从关联数组中获取任何键/值对并将其删除.在python中它是:

key, value = assoc.popitem()
Run Code Online (Sandbox Code Playgroud)

在DI do中:

auto key = assoc.byKey.front;
auto value = assoc[key];
assoc.remove(key);
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?可以在foreach之外使用byKeyValue()吗?

DMD 2.067.1

Vla*_*eev 4

是否可以在 foreach 之外使用 byKeyValue() ?

当然:

import std.stdio;

void main()
{
    int[string] assoc = ["apples" : 2, "bananas" : 4];

    while (!assoc.byKeyValue.empty)
    {
        auto pair = assoc.byKeyValue.front;
        assoc.remove(pair.key);
        writeln(pair.key, ": ", pair.value);
    }
}
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

我认为 D 没有相当于 的库函数popitem