如何使用map()函数对列表中每个单词的内部字符进行排序
解答
1. 单词被拆分的原因
是的,该现象是直接调用sorted函数导致的。
Python中的字符串本质是字符组成的可迭代对象,sorted接收可迭代对象输入时,会遍历对象的每一个元素(字符串的元素就是单个字符),排序后直接返回由单个字符组成的列表,不会自动拼接回字符串格式,因此会出现单词被拆分的结果。
2. 结合join与map的实现方法
你可以通过lambda匿名函数封装「字符排序+拼接」的逻辑,再传入map中调用即可,修改后的代码如下:
words = ["yo", "act", "flop",'tac'] words = list(map(lambda x: ''.join(sorted(x)), words))
运行后输出结果为:['oy', 'act', 'flop', 'act'],符合预期。
内容的提问来源于stack exchange,提问作者Patrick_Chong
相关产品推荐
相关产品推荐

