python中列表的每个项的分隔(字符串、int和float)程度

python中列表的每个项的分隔(字符串、int和float)程度,python,database,list,split,items,Python,Database,List,Split,Items,我是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_30

我是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
我的剧本是这样的:

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)和nothing。这不是我想要的。有什么问题吗? 有谁能指导我并支持我去解决它


非常感谢。

在这里拆分列表很容易:

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”开始。如果这样做有效,我们知道问题在于我们读取文件的方式

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

mylist = text.split('\n')
尝试复制粘贴并运行它。它应该按照你的意愿工作,它一行一行地打印

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)

您可以使用python中的
.split()
方法拆分数组。人们正在猜测您想要什么,但还不清楚。您有一个包含4项的列表,但请描述如何打开文件和打印行。你的输入准确度是多少,你想要的输出准确度是多少,你到底看到了什么“没有按我想要的那样工作”?请阅读如何发布a。谢谢,我将尝试编辑我的问题。谢谢你的支持,也为我的错误感到抱歉。非常感谢,但结果是一样的。我不明白为什么加入,分裂和这种方式,你的评论不起作用。会是因为每个项目都“大”吗?例如:“wt_300_cont_6032--GLN 33 C HSD 32 CG-0.990”?谢谢,但我想拆分每个项目,如上面的文本所示。我的意思是,介于“”之间的每一项。我修改了结果。在“to split”部分,它只删除空的空格。然后,您可以在“mylist”中选择所需的内容,并转换为所需的任何类型int(mylist[4])。注意:显示如何分割一行。你可以在每一行上循环,这很简单。但你的回答很模糊。我们正在猜测你想要什么。嗨,弗洛里安,谢谢你的支持。对不起,也许我的英语不好。但是,我希望有一个输出作为“按行打印”部分,其中说:“它打印”。我尝试使用您的脚本,但出于一个奇怪的原因,结果与输入的列表相同。对不起,我是python新手,我正在研究如何解决它,真的。我有一个想法。让我们忘掉文件.read(),重点讨论如何逐行打印数据。我将编辑我的代码…:)谢谢Florian给我的病人和帮助。为无知和糟糕的时刻感到抱歉。祝你一切顺利!