[英]How do I convert a list of strings into dict where only a certain type at an unknown index can become the keys?
[英]typing: Define a type that can only be certain strings?
如何使用打字模块来创建可以是某些字符串的类型?
例如,假设我需要一个类型CondOperator
,它可以是以下任何字符串:
['=', '>', '<', '>=', '<=', '<>', '!=']
我希望CondOperator = String['=', '>', '<', '>=', '<=', '<>', '!=']
,但没有typing
String
。 所以这行不通。
如何定义这种类型?
Python 3.8 在typing
引入了Literal
类型。 也可以通过以前版本的 Python 中的typing_extensions
包访问它。 使用Literal
,您可以将类型定义为:
from typing import Literal
CondOperator = Literal['=', '>', '<', '>=', '<=', '<>', '!=']
Literal
上的mypy 文档很好读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.