python - 如何在对象列表中查找字符串的最大长度(Python)

标签 python

class XYZ:

    def __init__(self, name, score):
        self.name = name
        self.score = score


l = []     # l is the list of objects

l.append(XYZ('Anmol', 10))
l.append(XYZ('Andrew', 200))
l.append(XYZ('Johnson', 3000))

在上面的代码中,l 是包含三个对象的对象列表,每个对象都有一个名称(字符串)和一个分数(整数),那么我如何找出该列表中名称的最大长度是多少?对象

在我们的程序中,name 的最大长度是 Johnson 的名字,它的长度是 7。所以程序应该输出 7。怎么做?

最佳答案

list comprehension ,如果没有 lambda,它看起来像这样:

 result = max(len(x) for x in l)

本质上,这会执行以下操作(它有助于从右到左分解列表理解):

  1. in l:遍历 l
  2. for x:在迭代过程中将l的每个元素赋值给变量x
  3. len(x):获取列表l
  4. 中每个变量x的长度
  5. list comprehensions 将输出自然地转换为列表格式,因此此时我们有一个包含所有字符串长度的列表,如:

    [5, 6, 7]
    
  6. max(...):简单地从长度列表中获取最大数

希望这个解释有助于理解发生了什么。

关于python - 如何在对象列表中查找字符串的最大长度(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49132937/

相关文章:

python - 识别文本中.onion 链接的方法?

python - 如何在python中存储字符串中的数字

python - 从生成器创建一个 Pandas 数据框?

python - 在没有控制台的情况下使用 Popen 在 python 中运行进程

python - 根据单词得分对句子进行评分

python - 计算一个大数组中的数组

python - 在 Python 中将包含文件名的列表转换为名称和后缀列表

python - 如何聚合扩展值 - python - pandas

python - 在 XML 文件中搜索字符串并打印菜单树中的位置 - Python

python - Enaml:允许调整窗口大小