我试图在非空列表中找到最长的单词.我的函数应该返回最长的单词.如果列表中的元素长度相等,我试图在Unicode排序方面排序最长.例如,我试图返回以下内容:
>>> highest_word(['a', 'cat', 'sat'])
'sat'
>>> highest_word(['saturation', 'of', 'colour'])
'saturation'
>>> highest_word(['samIam'])
'samIam'
Run Code Online (Sandbox Code Playgroud)
到目前为止,我可以得到第一个工作,这是我的代码到目前为止:
def highest_word(wordlist):
longestWord = ""
max_len = 0
for word in wordlist:
if len(word) > max_len:
longestWord = len(word)
longestWord = word
return longestWord
Run Code Online (Sandbox Code Playgroud)
任何形式的帮助将不胜感激.
Bah*_*rom 10
这是一个简单的单线
print(max(['a', 'cat', 'sat', 'g'], key=lambda s: (len(s), s)))
Run Code Online (Sandbox Code Playgroud)
这通过将列表的每个元素映射到包含其长度和字符串本身的元组来工作.
当比较两个元A和B,如果A[0] > B[0]再A > B.只有A[0] == B[0]考虑了第二个要素.因此,如果两个字符串的长度相等,则将字符串作为决胜局进行比较.
| 归档时间: |
|
| 查看次数: |
4653 次 |
| 最近记录: |