小编jyo*_*ska的帖子

在Golang中以<value,key>格式反转地图

我的程序地图如下所示:

fruit_map := map[string]string {
    "apple": "likey",
    "orange": "no likey",
}
Run Code Online (Sandbox Code Playgroud)

我想反转它,以便它读取以下内容:

{
    "likey": "apple",
    "no likey": "orange",
}
Run Code Online (Sandbox Code Playgroud)

值中没有重复项.此外,我的地图很小 - 约200键.我没有找到任何内置方法来反转像这样的地图.有没有办法快速做到这一点?我对空间复杂性并不感到困扰,但解决方案需要快速.

谢谢.

map go

7
推荐指数
2
解决办法
7268
查看次数

具有多个id的MongoDB组

我有一组文件,每个文件中有20个以上的密钥,密钥因文档而异.某些密钥可能不存在于所有文档中.我正在尝试使用聚合框架运行MongoDB组操作.查询看起来像这样 -

db.collection.aggregate([{'$group': {'count': {'$sum': 1}, '_id': {'location': '$location', 'type': '$type', 'language': '$language'}}}])
Run Code Online (Sandbox Code Playgroud)

在理想情况下,它应该返回应该存在3个键的文档,并对它们执行"分组"操作.但结果看起来像这样 -

{
    "result" : [
        {
            "_id" : {
                "location" : "abc",
                "type" : "456"
            },
            "count" : 5
        },
        {
            "_id" : {
                "type" : "123",
                "language" : "english"
            },
            "count" : 1
        },
        {
            "_id" : {
                "location" : "ghi",
                "type" : "9876",
                "language" : "latin"
            },
            "count" : 2
        },
        {
            "_id" : {
                "language" : "hebrew",
                "type" : "9434"
            },
            "count" : …
Run Code Online (Sandbox Code Playgroud)

python mongodb nosql

4
推荐指数
2
解决办法
7960
查看次数

使用公共密钥合并python词典

假设我有以下词典:

{name: "john", place: "nyc", owns: "gold", quantity: 30}
{name: "john", place: "nyc", owns: "silver", quantity: 20}
{name: "jane", place: "nyc", owns: "platinum", quantity: 5}
{name: "john", place: "chicago", owns: "brass", quantity: 60}
{name: "john", place: "chicago", owns: "silver", quantity: 40}
Run Code Online (Sandbox Code Playgroud)

我有数百个这样的小词典.我必须将它们与公共密钥的子集合并,在此示例中(名称,位置)并创建新的字典.最终,输出应如下所示:

{name: "john", place: "nyc", gold: 30, silver: 20}
{name: "jane", place: "nyc", platinum: 5}
{name: "john", place: "chicago", brass: 60, silver: 40}
Run Code Online (Sandbox Code Playgroud)

有没有有效的方法来做到这一点?我能想到的只有蛮力,我将跟踪每个可能的名称 - 地点组合,存储在一些列表中,为每个组合再次遍历整个事物并将字典合并为一个新字典.谢谢!

python dictionary python-2.7

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

标签 统计

python ×2

dictionary ×1

go ×1

map ×1

mongodb ×1

nosql ×1

python-2.7 ×1