python - 如果没有值则最大值 - python

标签 python python-2.7 list-comprehension

如果满足某些条件,我想返回列表中的项目。一个条件是我的项目是 "Project A",但另一个条件是对于所有子列表,t[1] 不是 None包含“项目 A”。我的代码可以工作,但效率似乎很低。我怎样才能把它结合起来?

mylist = [(1, None, "Project A"), (2, 3, "Project A"), (3, 6, "Project B")]

try:
    if None not in [t[1] for t in mylist if t[2] == "Project A"]:
        print max(t for t in mylist if t[2] == "Project A" and t[1] is not None)
    else:
        print "no match"
except ValueError:
    print "no match"

最佳答案

tmp = [x for x in mylist if x[2] == "Project A"]
if tmp and None not in zip(*tmp)[1]:
    print max(tmp)
else:
    print "no match"

关于python - 如果没有值则最大值 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033110/

相关文章:

python - 使用Python处理来自url的img

python - 将大写字母移动到字符串前面并将小写字母大写的函数?

python - Python 中的列表理解以计算列表的最小值和最大值

python - 用计数替换空白字符串

python - TensorFlow 中实际输出之前的额外 'b'

python - Flask-SQLAlchemy:sqlite3 IntegrityError

python - 按公共(public)列合并 2 个 .csv 文件

java - 将正则表达式字符串从 Java 转换为 Python

python - 返回字典中的最大值

python - 适用于每个可变阶段的 Flask 可扩展 URL