python - 问题是,您必须检查字符串列表,并且每个项目都必须比前一个项目长

标签 python list while-loop counter accumulate

完成一个函数的函数设计,该函数接受字符串列表并确定列表中的每个字符串是否都大于其前面的字符串。假设一个空列表和一个只有一个元素的列表都满足条件(因为没有字符串后跟更长的字符串)。

这是我当前的解决方案。我已经尝试过使用嵌套 for 循环,但这似乎不起作用。我只是不知道如何在不超出范围的情况下比较列表中的两个项目和后面的一个项目

def growing_strings(los):
    sum=0
    counter= 0
    while len(los[counter]) < len(los[counter+1]):
            sum+=1
            counter+=1

    if sum==len(los):
        return True
    else:
        return False

最佳答案

您可以检查基于字符串长度的排序列表是否与您传入的内容相同

def growing_strings(los):
    return sorted(los, key=lambda x: len(x)) == los

如果不允许相同长度的字符串,请添加额外的检查

return sorted(los, key=lambda x: len(x)) == los and len({len(x) for x in los}) == len(los)

关于python - 问题是,您必须检查字符串列表,并且每个项目都必须比前一个项目长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58529906/

相关文章:

python - 使用 Tkinter 在 while 循环中录制语音

c# - 执行 while block ,直到出现三个条件之一

python - AWS 路由表导出详细信息到 CSV

python - Python中的空模式未充分利用?

python - 正常随边界变化?

python - Scikit Learn - 通过加载 CSV 识别目标

python - 仅将列表中的某些单词分配给变量

.net - 什么时候分配新列表比 .Clear() 现有列表更合适?

list - 如果匹配字符串,则查找和删除列表元素

c# - While 语句 - 键入击键后控制台输出奇怪