Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表解析_Python_List_List Comprehension - Fatal编程技术网

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]
。是的,这正是我所说的。你说的是“颠倒清单”