我是python的新手,也是使用类型的新手。我有一个函数,它返回一个字典,其中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]]
,但我从未见过有人在任何地方使用它,所以我不确定它是否正确。
是的,两种类型注释都是正确的。为了更具体,您应该更喜欢使用Dict[str, List[str]]
。
附录:在这种情况下,特异性更可取,在其他情况下,一般性可能更可取。
无需遵循python中定义变量的古老方式。Python本身负责处理数据类型。只做
a = dict()
或
a = {}
然后
a["mylist1"] = ["item1", "item2"]
b["mylist2"] = ["item1", "item2"]
但是你发布的方法也是正确的。
首先定义一个函数,它接受字符串和值。在第二行启动字典。在第三步中,您可以直接开始为关键点指定值。
def foo_bar(string, val):
my_map = dict()
my_map[string] = val
return my_map
在这种情况下,字符串是密钥,val是值
所以在你的情况下
my_map = dict()
my_map["lebron"] = ["king","goat","bron"]
my_map["jordan"]: ["clutch", "goat", "bulls"]
print(my_map)
它必须提供所需的输出。