我正在读取一个文件,其中每一行都包含一个二进制字符串(例如01000000 00001000 00000000 11111111
)和一个数字0或1,该二进制字符串后面的两个空格对应于该二进制字符串。因此,示例行如下所示:01000000 00001000 00000000 11111111 0
我希望我的程序输出以下内容:['01000000', '00001000', '00000000', '11111111']
['0']
这是我现在的代码:
def main():
f=open('file.txt', 'r').readlines()
for line in f:
words = line.split(" ", 1)
wordsList=list(words)
for i in range(0, len(wordsList)-1):
binary = wordsList[i:i+1]
link = wordsList[i+1:i+2]
print(binary)
print(link)
main()
现在,当我运行它时,程序将返回以下内容:
['01000000 00001000 00000000 1111111']
['0']
我在这里想念什么?
最佳答案
您应该将整行分开,然后切下最后的数字。
要分割行,请使用line.split()
。默认参数可以正常工作。
为了切片结果数组,line[:-1]
捕获所有元素,直到但不包括最后一个。 line[-1:]
获取最后一个元素。
示例程序:
def main():
with open('file.txt') as f:
for line in f:
line = line.split()
binary = line[:-1]
link = line[-1:]
print(binary)
print(link)
if __name__ == "__main__":
main()
关于python - Python将文件中的行分成两个单独的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37214393/