【发布时间】:2020-01-24 13:44:34
【问题描述】:
假设我有一个函数可以转换字符串集合中的字符,例如 -
from typing import Collection
def replace_in_collection(input_collection: Collection[str]) -> Collection[str]:
return [x.replace('a', 'b') for x in input_collection]
如何以通用方式创建此函数,以便它返回与输入类型相同的集合类型(不仅仅是上面函数示例中的列表)。
所以我想要的是具有以下行为的东西:
my_set = {'ab','ac'}
my_set_result = replace_in_collection(my_set)
type(my_set_result ) # --> set
my_list = ['ab','ac']
my_list_result = replace_in_collection(my_list)
type(my_list_result) # --> list
有没有一种方法可以在不使用单独类型检查的情况下通过理解来创建它?
【问题讨论】:
-
我认为
for x in relevant_channels是一个错字,应该是for x in input_collection? -
第一篇文章很有趣
标签: python list-comprehension dictionary-comprehension set-comprehension