栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将文件字符串读入数组(以pythonic方式)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将文件字符串读入数组(以pythonic方式)

快速回答:

arrays = []for line in open(your_file): # no need to use readlines if you don't want to store them    # use a list comprehension to build your array on the fly    new_array = np.array((array.float(i) for i in line.split(' ')))     arrays.append(new_array)

如果您经常处理此类数据,csv模块将有所帮助。

import csvarrays = []# declare the format of you csv file and Python will turn line into# lists for you parser = csv.reader(open(your_file), delimiter=' '))for l in parser:     arrays.append(np.array((array.float(i) for i in l)))

如果您感到疯狂,甚至可以使用完全声明的形式:

import csvparser = csv.reader(open(your_file), delimiter=' '))make_array = lambda row : np.array((array.float(i) for i in row)) arrays = [make_array(row) for row in parser]

而且,如果您确实希望同事讨厌您,则可以制作一个衬板(一点也不PYTHonIC :-):

arrays = [np.array((array.float(i) for i in r)) for r in csv.reader(open(your_file), delimiter=' '))]

剥去所有的锅炉板和灵活性,您可以得到一个干净且易于阅读的衬里。我不会使用它,因为我喜欢使用的潜在潜力

csv
,但是它足够好。这里是一个灰色区域,所以我不会说这是Pythonic,但是绝对方便。

arrays = [np.array((array.float(i) for i in l.split())) for l in open(your_file))]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号