通过枚举值重写列表中的数据
假设我有一个看起来像这样的枚举:
class MyEnum(str, Enum):
A = 'atk'
C = 'ccc'
B = 'break'
一个看起来像这样的列表:
list = ['A', 123, 'B', 44, 2, 'C']
如何使数组中的AB和C因其枚举价值而改变并看起来像这样?
list = ['atk', 123, 'break', 44, 2, 'ccc']
Let's say i have an enum that looks like this:
class MyEnum(str, Enum):
A = 'atk'
C = 'ccc'
B = 'break'
And a list looking like so:
list = ['A', 123, 'B', 44, 2, 'C']
How do i make it that the A B and C in array are changed by its Enum values and look something like that?
list = ['atk', 123, 'break', 44, 2, 'ccc']
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以尝试是否每个列表元素是枚举值(请参阅,例如,如何测试是否存在具有特定名称的枚举成员?),在这种情况下只需替换值:
在线尝试在这里。
You can try whether each list element is an enum value (see, e.g., How to test if an Enum member with a certain name exists?) and just replace the value in this case:
Try it online here.
尝试:
打印:
Try:
Prints:
您只需使用 for ... in 要迭代
list
,然后基于类型检查,您可以在该列表索引处分配enum
值。You can simply achieve this by using
for...in
loop to iterate thelist
and then based on the type checking you can assign theenum
value at that list index.