python 读取文档 并创建任意多的list

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 读取文档 并创建任意多的list相关的知识,希望对你有一定的参考价值。

请问如何并创建任意多的list
filename = r'a.txt'
alist1 = []
alist2 = []
lines = open(filename,'r').readlines()
alist1 = [line.strip().split( )[0] for line in lines ]
alist2 = [line.strip().split( )[3] for line in lines ]
在上段代码中 我从一个a。txt文件中读取了他的第一列和第四列 分别构成了两个list(alist1%alist2)
现在我希望能把a.txt文件中的每一列都提取成一个list,但我不知道a。txt文件中一共有多少列

求在原来代码的基础上 改成可以计算a.txt一共多少列(例如用len),然后把每一列都变成一个list的循环代码 (例如程序扫描到a.txt中有9列 就创建9个list来装每一列)
谢谢!

filename=r'a.txt'
dlist=
for line in open(filename,'r'):
    cols=line.split()
    for col in range(len(cols)):
        dlist.setdefault(col,[]).append(cols[col])
for col in range(len(dlist)):
    print(dlist[col])

追问

您好 谢谢你啦 请问您能帮忙解释一下3到6行 每行的意思么 不是很明白 谢谢

追答

for line in open(filename,'r'): #按行读取文件,存入变量 line

cols=line.split() #将行分隔成列,cols为列列表

for col in range(len(cols)): #将列号依次分配给变量col,列号从0到 len(cols)-1

dlist.setdefault(col,[]).append(cols[col]) #将每列添加到对应列表中,列表为字典dlist中以列号为键对应的值

参考技术A #coding=utf-8
filename = 'a.txt'
first = open(filename).readline()
col_len = len(first.split()) #以第一行为标准算有多少列
col_all = [[] for i in range(col_len)]

for line in open(filename):
for i, data in enumerate(line.split()):
col_all[i].append(data)
print col_all

python--列表

列表的定义

定义一个空列表
list = []
定义一个包含元素的列表,元素可以是任意类
型,包括数值类型,列表,字符串等均可。
技术分享

列表的索引
下标是从0开始计算,比如list[0]读取的是列
表的第1个元素;
list[-1]读取的是列表的倒数第1个元素;

技术分享

列表的切片

技术分享


同于字符串的重复,连接,长度,子串判断等

技术分享



查看列表的可用操作

dir(li)

技术分享

列表的添加
列表可通过append方法添加元素;

技术分享

如果我想添加多个元素,列表可通过extend方法添加元素

技术分享

在指定位置添加元素使用inert方法;
L.insert(index, object)


技术分享

列表的修改
修改列表的元素:直接重新赋值;

技术分享

列表的查看
查看某个列表元素的下表用index方法;
查看某个列表元素出现的次数用count方法;

技术分享


列表的删除

list.remove(list[])

技术分享

list.pop() 弹出列表中最后一个元素

技术分享

列表的删除

del(list[])

技术分享



以上是关于python 读取文档 并创建任意多的list的主要内容,如果未能解决你的问题,请参考以下文章

python 编写一个程序来读取mbox-short.txt并找出谁发送了最多的邮件消息。程序看起来像f

python中如何读取文件

python 用循环创建多个文件

用C#创建XML文档和读取并修改XML文档

用C#创建XML文档和读取并修改XML文档

python类中可以建立任意多参数吗?