我有一个用zip
函数创建的元组列表。zip
将四个列表组合在一起:narrative
、subject
、activity
、和{
narrative = [0, 0, 0, 0]
subject = [1, 1, 0, 1]
activity = [0, 0, 0, 1]
filer = [0, 1, 1, 0]
现在,我将zip
将它们组合在一起,以获得一个布尔值列表,指示它们中是否有True
。在
{cd9}
我现在遇到的问题是,获取第二个元组列表,如果在迭代过程中变量的名称为1,则返回这些元组的名称。我想应该是这样的:
^{pr2}$我就是不知道该怎么办。我想要的输出如下所示:
reason
# ["subject", "subject, filer", "filer", "subject, activity"]
我对Python有点陌生,如果解决方案很简单,我很抱歉。在
将元组存储在字典中以获得更干净的解决方案:
解决方案:
^{pr2}$也可以使用^{} 编写:
^{3}$上面的解决方案不保留元组的顺序,例如,它们可以返回类似
如果需要保留订单,请使用^{} ,如下所示:
编辑:不涉及字典的解决方案:
如果
zip(...)
调用不再适合一行,请考虑使用字典。在您可以使用comprehension语法的过滤方面来获得 只有当相应的国旗为真时,您的有效英文名称:
也就是说,你的方法有点可疑-你可能会(远)更好地使用面向对象的方法,而不是尝试手动协调每个主题的独立变量序列。在
使用
zip(narrative, subject, activity, filer)
基本上可以转换矩阵(您的等长度列表组成矩阵)。然后通过这些枚举来查找标志为true的位置n
,并为适当的变量编制索引。在要查看转置:
^{pr2}$相关问题 更多 >
编程相关推荐