0

我有 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 函数来摆脱 u,但是字符串中的 '\n' 呢?我也不是 100% 确定 I/O 功能。任何人都可以帮助我解决示例脚本吗?

非常感谢,python的新手

4

1 回答 1

1

欢迎如此。

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)) 
于 2013-01-09T20:46:09.897 回答