在我的 py 中表达 returns 字符串和值列表的字典

Expressing a dictionary that returns string and list of values in my py

我是 python 的新手,对使用类型非常陌生。我有一些函数 returns 字典,其中 key 是一个字符串,value 是一个字符串列表。我想知道使用类型表达这一点的正确方法是什么。

示例输出

{"lebron": ["king","goat","bron"], "jordan": ["clutch", "goat", "bulls"]}

代码

from typing import Any, Dict, List

def foo_bar() -> Dict[str, Any]:
    my_map: Dict[str, Any] = {}
    # some stuff happens
    return my_map


def foo_bar() -> Dict[str, List[str]]:
    my_map: Dict[str, List[str]] = {}
    # some stuff happens
    return my_map

我已经发布了两种方法,一种更具体,即 Dict[str, List[str]] 但我从未见过有人在任何地方使用过它,所以我不确定它是否正确。

首先定义接受字符串和值的函数。 在第二行启动字典。 第三步就可以直接开始给key赋值了。

def foo_bar(string, val):
    my_map = dict()
    my_map[string] = val 
    return my_map

在这种情况下,string 是键,val 是值

所以在你的情况下

my_map = dict()
my_map["lebron"] = ["king","goat","bron"]
my_map["jordan"]: ["clutch", "goat", "bulls"]
print(my_map)

它必须提供所需的输出。

是的,两种类型注释都是正确的。你应该更喜欢使用 Dict[str, List[str]] 来更具体。

附录:在这种情况下,特异性更可取,在其他情况下,通用性可能更可取。

无需遵循 python 中定义变量的古老方法。 Python 本身负责数据类型。 就这样

a = dict()

a = {}

然后

a["mylist1"] = ["item1", "item2"]
b["mylist2"] = ["item1", "item2"]

不过你贴出来的方法也是对的