如何在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

我用过打印“ \ 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”开始。如果可行,我们知道问题出在读取文件的方式上。

尝试复制并运行它。它应该可以按预期工作,并逐行打印。

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)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...