用python输出特殊字母串的列表

时间:2013-01-09 20:32:53

标签: python list io special-characters

我有2个字符串列表,它们是根据数据库内容构建的,但我很难将其读入txt文件

list_a={u'XYZ-123-456',u'XYZ-123-456',u'XYZ-789-456',....}

list_b={u'Tom \n is creative', u'Sky is blue',....}

我需要做的是在两个列表中的每个字符串的开头摆脱'u',在list_b中的每个字符串中删除\ n。

然后将list_b中的每个元素一行一行地写入一个文本文件到txt文件中,该文件的标题是list_a中的元素。具有相同标题的字符串应位于相同的txt文件中。有人可以帮忙吗?

我想我可以使用pop函数来摆脱你,但字符串中的'\ n'怎么样? 我也不是100%确定I / O功能。有人可以帮我拿样本脚本吗?

非常感谢,这是python的新手

1 个答案:

答案 0 :(得分:1)

欢迎所以SO。

list_a实际上是set{}表示set,这是一个唯一项目列表 - 因此,如果您希望“列表”中有多个值,则可能不需要此类型。如果您需要实际列表,请使用[...]代替{...}

封装“列表”

集合中的“u”表示文本为unicode。如果你想删除它:

list_a = map(str, list_a)

\n是一个表示新行的控制字符。在控制台中打印时,这将表示为新行。如果你真的不想要换行,那就行:

list_b= { item.replace('\n','') for item in list_b }

我假设你想要文本文件中新行的每个项目。如果是这样的话:

with open('c:\file.txt', 'w') as file:
    file.write('\n'.join(list_a)) 
    file.write('\n'.join(list_b)) 

对于非重复项,将2个列表合并为一个集合。由于它们目前已经设置,因此可以使用:

with open('c:\file.txt', 'w') as file:
    file.write('\n'.join(list_a + list_b))