关于Python嵌套列表推导的问题

AD稳稳 2017-05-26 07:29:40
最近在学习Python自然语言处理这本书,遇到了一个问题,关于Python中嵌套列表推导的
P140/ 41.将下列嵌套循环重写为嵌套列表推导。
words=['attribution','confabulation','elocution','sequoia','tenacious','unidirectional']
vesquences=set()
for word in words:
vowels=[]
for char in word:
if char in 'aeiou':
vowels.append(char)
vesquences.add(''.join(vowels))
sorted(vesquences)
['aiuio', 'eaiou', 'eouio', 'euoia', 'oauaio', 'uiieioa']
应该目的是将列表中的元音字母抽出重新组成一个集合显示出来,但是我和伙伴做了好久都没有做出来,希望各位大神帮忙看一下,谢谢。
我写的不太对,但是也贴出来给大家看一下,求助= =:
words=['attribution','confabulation','elocution','sequoia','tenacious','unidirectional']

vsequences=set()
vowels=[]
initial_value=0
[[[vowels.append(char) for char in words[i] if char in 'aeiou'] and vsequences.add(''.join(vowels)) for i in range(len(words)) if i!=0 ] ]
print sorted(vsequences)
输出结果是这样的:
['oauaio', 'oauaioeouio', 'oauaioeouioeuoia', 'oauaioeouioeuoiaeaiou', 'oauaioeouioeuoiaeaiouuiieioa']
没有及时清空列表
...全文
140 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuifengde 2017-05-27
  • 打赏
  • 举报
回复
words=['attribution','confabulation','elocution','sequoia','tenacious','unidirectional']
e=[''.join(L) for L in map(lambda x:[i for i in x if i in 'aeiou' ], words)]
print(sorted(e))

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧