索引列表中的多个字符

时间:2016-05-02 05:04:10

标签: python indexing

我正在尝试索引多个字符,例如,如果列表是:

N00000035,Z,X,Y

我想在第一个逗号之前索引字符集:

N00000035

这是我到目前为止的代码:

with open(filename+".txt", 'r') as f:
        for item in f:
            print(item[1,8])

但是当我打印出“item [1,8]”时它似乎不起作用 - 这个代码位于一个更大的try / except块中,它似乎直接到了块,当我执行我上面的代码告诉我一些关于它的内容是无效的。

感谢任何帮助!

3 个答案:

答案 0 :(得分:0)

在字符串上使用split。分隔符是逗号。

>>> str = "N00000035,Z,X,Y"
>>> str.split(',')[0]
'N00000035'

答案 1 :(得分:0)

首先将数据放入字符串中,然后按如下方式拆分字符串:

>>> st = "N00000035,Z,X,Y"
>>> splited = st.split(",")
>>> splited
['N00000035', 'Z', 'X', 'Y']

然后你可以访问如下字母:

>>> for i in splited[0]:
    print i


N
0
0
0
0
0
0
3
5

您还可以使用以下索引:

>>> splited[0][0]
'N'
>>> splited[0][1]
'0'
>>> splited[0][2]
'0'

答案 2 :(得分:0)

首先,item[1, 8]不是获取前8个字符的正确语法。正确的语法是item[1:8],或修正这些数字以获取第一个逗号之前的所有内容,item[0:9]item[:9]

>>> item[:9]
'N00000035'

如果你的列是固定宽度的,这种方法可以正常工作,但除此之外你应该考虑其他答案并改用item.split(',')[0],这样更灵活:

>>> item.split(',')[0]
'N00000035'