首页 > 解决方案 > 将文本文件中的列值放入python中的列表中

问题描述

我有一个这样的文本文件:

啊
bx
c,dy
e,fz

我想将第一列的值放入一个没有重复的列表中。现在我从第一列获取值,我这样做是这样的:

f=open("file.txt","r")
lines=f.readlines()
firstCol=[]
for x in lines:
    firstCol.append(x.split('   ')[0])
f.close()

在下一步中,我想像以前一样用逗号分隔符分隔值,但随后我得到如下输出:

[['a'], ['b'], ['c', 'd'], ['e', 'f']]

如何将其转换为一维事物以便之后能够删除重复项?我是python的初学者。

标签: pythonlistmultidimensional-arrayduplicatestext-files

解决方案


您可以使用 itertools.chain扁平化列表列表,然后可以使用内置类set删除重复项:

from itertools import chain

l = [['a'], ['b'], ['c', 'd'], ['e', 'f']]
set(chain.from_iterable(l))
# {'a', 'b', 'c', 'd', 'e', 'f'}

要展平您的列表,您还可以使用列表理解:

my_l = [e for i in l for e in i]
# ['a', 'b', 'c', 'd', 'e', 'f']

与 2 个简单for循环相同:

my_l = []

for i in l:
    for e in i:
        my_l.append(e)

推荐阅读