发布网友 发布时间:2022-04-24 16:01
共2个回答
热心网友 时间:2022-04-06 00:34
这是一个字符串的全角和半角的问题,可以导入 unicodedata 中的 normalize 函数先把全角转换为半角,然后再用 set 对列表去重,参考代码如下:
from unicodedata import normalize
list3=['热菜','凉菜','凉菜','硬菜']
set(map(lambda s: normalize('NFKC', s), list3))
输出:
{'硬菜', '热菜', '凉菜'}
扩展:
“ NFKC”代表“Normalization Form KC [Compatibility Decomposition, followed by Canonical Composition]”,并将全角字符替换为半角字符,这些半角字符与Unicode等价。
热心网友 时间:2022-04-06 01:52
去重操作可以走个捷径,将列表转换为不重复的集合即可。示例代码见截图:
你说的‘凉菜’中的‘凉’字不一样,没看懂,字如果不一样在任何编码规则下其编码必须不同,这是基本的编码规则,不然电脑无法识别你要打出什么字了。