【发布时间】:2017-08-01 17:08:03
【问题描述】:
我有一组生成器表达式的条件,它们会有所不同,如果可能的话,我想尝试将这些条件连接为一个字符串,并在生成器表达式中使用这个字符串变量:
以下工作正常:
Total = sum(sale["Date"] == date for sale in Sales_Store)
其中 date 是一个整数,Sales_Store 是具有相同键的字典列表,“Date”是键名之一。它返回满足此条件的销售商店中的销售数量。
但这会产生错误:+: 'int' and 'str' 的操作数类型不受支持
strTest = "sale[\"Date\"] == date for sale in Sales_Store"
Total = sum(strTest)
当然,如果某个其他条件成立,我只希望在生成器表达式中使用此条件,并且有几个其他条件可以与此连接,每个条件仅适用于某些情况。
那么你知道是否有办法使这种串联工作吗?
【问题讨论】:
-
Nitpick:你没有列表理解,你有一个生成器表达式。
-
字符串不是可执行代码。如果可能的话,Python 不会查看字符串并执行它。
-
@Md.RezwanulHaque:没有更多代码,问题就很清楚了。我不确定您希望从“完整代码”中学到什么。对于不完整的问题,我们要求提供minimal reproducible example,而不是完整的代码。
标签: python if-statement concatenation generator-expression