在我的 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"]
不过你贴出来的方法也是对的
我是 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"]
不过你贴出来的方法也是对的