python 中列表的每个项目如何分开(字符串、整数和浮点数)

How separate (string, int and float) each item of a list in python

我是 python 的新人,所以我有一个列表作为例子

['wt_300_cont_6032 - - GLN 33 C HSD 32 CG - 0.990 ', 'wt_300_cont_6032 - - GLN 33 C HSD 32 CE1 - 0.916 ', 'wt_300_cont_6032 - - GLN 33 C HSD 32 CD2 - 0.963 ', 'wt_300_cont_6032 - - GLN 33 C GLN 33 CD - 1.000 ']

我想这样拆分:

wt_300_cont_6032 - - GLN 33 C HSD 32 CG - 0.990
wt_300_cont_6032 - - GLN 33 C HSD 32 CE1 - 0.916
wt_300_cont_6032 - - GLN 33 C HSD 32 CD2 - 0.963
wt_300_cont_6032 - - GLN 33 C GLN 33 CD - 1.000 

我的脚本是这样的:

filename = 'output.txt'
with open(filename) as f:
    for i in f:
         print i

我用过 print "\n".join(i) 但什么也没有。它没有像我想要的那样工作。会有什么问题? 有人可以指导我并支持我修复它吗?

非常感谢。

在这里拆分列表很容易:

for x in myList:
  print(x)

写入文件:

with open("filename.txt","rw") as f:
  for x in myList:
    f.write(x)

使用 readline() 或 read() 读取文件。

with open(...) as f # You did well to use a with-statement!
    text = f.read()

mylist = text.split('\n')

按行打印

for item in mylist:
    print(item)

""" It prints:
wt_300_cont_6032 - - GLN 33 C HSD 32 CG - 0.990
wt_300_cont_6032 - - GLN 33 C HSD 32 CE1 - 0.916
wt_300_cont_6032 - - GLN 33 C HSD 32 CD2 - 0.963
wt_300_cont_6032 - - GLN 33 C GLN 33 CD - 1.000 
"""

括号

print i  # nope
print(i) # yes

分裂

result =to_split.split(mylist)
# result = ['wt_300_cont_6032', '-', '-', 'GLN', '33', 'C', 'HSD', '32', 'CG', '-', '0.990']

编辑:

在我们的对话之后,我们直接从输入值“input_list”开始。如果这有效,我们知道问题出在我们读取文件的方式上。

尝试copy-paste和运行吧。它应该按您的预期工作,它会逐行打印。

input_list = ['wt_300_cont_6032 - - GLN 33 C HSD 32 CG - 0.990 ', 'wt_300_cont_6032 - - GLN 33 C HSD 32 CE1 - 0.916 ', 'wt_300_cont_6032 - - GLN 33 C HSD 32 CD2 - 0.963 ', 'wt_300_cont_6032 - - GLN 33 C GLN 33 CD - 1.000 ']
for element in input_list:
    print(element)