0

晚上,

这不一定是pythonic,我知道进入它。但是,我根本无法让它正确触发。

我想要做的是将两个字母与“寄存器”中的项目匹配,这是正确完成的,但是我试图查看这两个字母之后是否有空格。空白是没有被正确拾取的地方。我确定我只是在搞砸语法。任何帮助将不胜感激。

registers = ['R0','R1','R2','R3','R4','R5','R6','R7']
whiteSpace = ['\t', ' ']
if (item[idx +2] + item[idx +3]) in registers and (item[idx +4] in whiteSpace):
4

1 回答 1

1

item如果没有看到一个例子来说明你做错了什么或者为什么你用索引指针来遍历它,就很难判断你做错了什么。如您所说,如果它只是一个字符串,则可以将测试简化为以下内容:

if item[:2] in registers and item[-1] in whiteSpace:

您需要保证该项目的长度为 3 个字符,或者在该条件下放置另一个警卫。

顺便说一句,我喜欢在这类事情上使用命名切片来使意图更明显:

code = slice(0, 2)
spacer = slice(-1)

if item[code] in registers and item[spacer] in whiteSpace:
于 2012-10-02T05:04:45.597 回答