在过去的一天里,我一直在努力解决一个非常简单(但令人沮丧的困难)的问题。我现在有一段代码,它使用csv阅读器逐行循环浏览csv文件。循环不是一个问题,因为我以前成功地使用了相同的循环;它似乎是我if语句的问题。你知道吗
以下是一个示例:
if 'INCORRECT_KEY_PRESSED' and 'rad_mod_KA_0043-lo-mod' in row:
userAnswerColumn.append(row[20])
userRtColumn.append(row[21])
如果一行中包含短语INCORRECT_KEY_PRESSED
和rad_mod_KA_0043-lo-mod
,则该语句将附加两个具有特定位置值的列表。我有几个这样的说法,但一行从来没有这两个短语超过一次。像rad_mod_KA_0043-lo-mod
这样的短语总是唯一的,而INCORRECT_KEY_PRESSED
经常出现。你知道吗
if语句似乎只使用了我的一个条件,因为它向每个列表添加了多个数据。你知道吗
我以前遇到过这个问题,通过创建集合并执行以下操作来解决它:
if (all(x in row for x in ssSet) and row[14] == '7'):
ssColumn7.append(row[20])
ssRtColumn7.append(row[21])
然而,有这么多独特的条款,我将不得不作出过多的集合。怎么了?你知道吗
应更改为:
因为否则python会理解
这可能永远是真的。你知道吗
每次有多个条件要测试时,您可能需要考虑一下这一点。你知道吗
语句
'INCORRECT_KEY_PRESSED' and 'rad_mod_KA_0043-lo-mod' in row
被解释为:第一部分总是True(非空字符串是truthy,或者在布尔表达式中被认为是boolean True)。你知道吗
你可能想要:
相反,也可以使用设置交点:
您的分组错误,python的工作方式如下:
所以你需要:
相关问题 更多 >
编程相关推荐