python - 将文本文件中的列值放入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的初学者。
解决方案
您可以使用 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)
推荐阅读
- java - 是否可以为 JAR 文件运行 Junit 测试
- python - 密码学构建轮子失败。无法为使用 PEP 517 且无法直接安装的密码学构建轮子
- c++ - VS2019:致命错误 C1083 无法打开头文件:'opencv.hpp'
- javascript - 没有得到数组的值,但数组存在 - JS
- mysql - 如何在 Airflow MySQLHook 中支持 SSL(特别是 AWS 2019CA)
- npm - PNPM 安装确实有效,但 ProdBuild 失败
- java - MYSQL Left join 失败,java 中出现“未知列”
- zapier - 同时添加新人和新交易
- apache-kafka - 来自不同消费者组的多个消费者如何从同一个分区中读取数据?
- c# - 为一群人提供可见性 Web 选项卡,从数据库获取数据到布局页面 | ASP.NET 核心 3.1