过去一天我一直在努力解决一个非常简单(但非常困难)的问题。我目前有一段代码,它使用 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
如果该行包含短语and ,则该语句应该附加两个列表,其中包含来自行中特定位置的值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])
然而,有这么多独特的术语,我不得不制作过多的集合。怎么了?