Python 列表解析
我被问到了这个问题,我被困在这个问题上了Python 列表解析,python,list,list-comprehension,Python,List,List Comprehension,我被问到了这个问题,我被困在这个问题上了 W = ['cat', 'audiotape', 'businesswoman', 'dog'] 写一个列表理解,有效地从随机单词列表中提取w, 最长的单词lw,每个元音至少包含一个实例。 如果需要,在答案中包含帮助函数。 (对于上面给出的w,lw是“女商人”。) 到目前为止,我得到的是 lw=最大值[长度(w)表示n英寸宽] 我知道这并不多,我不知道如何找到包含所有元音的单词,以及如何打印最长的单词。我是Python新手 对于这项运动: W = ['
W = ['cat', 'audiotape', 'businesswoman', 'dog']
写一个列表理解,有效地从随机单词列表中提取w,
最长的单词lw,每个元音至少包含一个实例。
如果需要,在答案中包含帮助函数。
(对于上面给出的w,lw是“女商人”。)
到目前为止,我得到的是
lw=最大值[长度(w)表示n英寸宽]
我知道这并不多,我不知道如何找到包含所有元音的单词,以及如何打印最长的单词。我是Python新手 对于这项运动:
W = ['cat', 'audiotape', 'businesswoman', 'dog']
lw = sorted([x for x in W if all(y in x for y in 'aeiou')], key=lambda x:len(x))[-1]
all()
如果列表中的所有项都为true,则返回true
>>> print(all([True, True, True, True]))
True
>>> print(all([False, True, True, False]))
False
在上述问题中,我们需要使用all
检查字符串中是否存在所有元音(例如:businesswoman)
,如下所示:
>>> all(t in "businesswoman" for t in 'aeiouu')
True
同样,我们需要对W
中的所有项目执行以下操作:
>>> W = ['cat', 'audiotape', 'businesswoman', 'dog']
>>> [x for x in W if all(t in x for t in 'aeiouu')]
['audiotape', 'businesswoman']
>>> sorted([x for x in W if all(t in x for t in 'aeiouu')], key=len)[-1]
'businesswoman'
阅读更多关于到目前为止您尝试了什么?请参阅。如果你想让我们帮助你,至少你必须亲自尝试并向我们展示你所做的。你应该展示你所做的以及你想做的,而不是仅仅要求我们为你解决问题。(顺便说一句,这就是你被否决的原因)我发现-len(x)
比简单地颠倒列表和你的if是错误的更令人困惑。只需使用all()
。删除[0]
,您将看到它。我宁愿选择最后一个元素,也不愿恢复整个列表。。你说得对,我犯了一个错误,正在改正。恐怕你没有完全理解我。如果你使用len(x)
而不是-len(x)
你仍然做同样的工作量。然后你将得到[-1]
,而不是[0]
。是的,这正是我所说的。你说的是“颠倒清单”