假设我有一个包含9个字段的列表,第9个字段是一个字符串。
然后print(line)
将打印整行,print(line[9])
将返回如下内容:
1/0:.:PASS:90:204,90:201,88:48,39:-204,0,-90:-48,0,-39:14:9,5:5
但是print(line[9[0:1]])
将返回
File "FileParser.py", line 9, in ?
print(line[9[0:1]])
TypeError: unsubscriptable object
如果我将line[9]
分配给第二个var,那么我可以像字符串一样操作它,但这似乎是一个愚蠢的额外步骤。
有没有办法直接索引字符串,同时仍然是列表的一部分?
谢谢
答案 0 :(得分:3)
你可以像这样索引
line[9][0:1]
line[9]
将获取实际字符串,并从该字符串中获取字符范围。
执行line[9[0:1]]
时,您尝试从9
数字中获取值范围,这是不可能的。这就是你的代码失败的原因。
答案 1 :(得分:1)
由于line[9]
是一个字符串,所以你必须这样做
line[9][0:1]
让我们说line[9] = "some string"
。然后你可以用
line[9][0:1]
将等同于
"some string"[0:1]