首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何避免追加空列表&圆括号和方括号

如何避免追加空列表&圆括号和方括号
EN

Stack Overflow用户
提问于 2018-06-03 19:08:19
回答 1查看 130关注 0票数 0

我目前正在为一个小块而努力,它应该屏蔽一个大文件,并只写出特定的数据,满足a函数给出的某些限制。我主要有格式问题:

代码语言:javascript
运行
复制
from __future__ import print_function
import numpy as np

log = open("out_test", "w")
log1 = open("out_test_empty", "w")

def function(kx,ky,ek,sz,ef,tol):
    lines = []
    if ((ef-tol)<ek<(ef+tol)):
        lines.append((kx,ky,sz))
#       (lines.append((kx,ky,sz)) if (kx,ky,sz) is not None else None)
    return lines


arr = []
with open('test10') as my_file:
    for line in my_file:
        ##numbers_float=map(float, line.split())
        arr.append(map(float, line.split()))
        print(function(arr[-1][0],arr[-1][1],arr[-1][2],arr[-1][3],-0.5462,0.001), file = log)
#       print(', '.join(str(d) for d in function(arr[-1][0],arr[-1][1],arr[-1][2],arr[-1][3],-0.5462,0.001)), file = log)
#       str_list = (', '.join(str(d) for d in function(arr[-1][0],arr[-1][1],arr[-1][2],arr[-1][3],-0.7,0.001)))
#       str_list = filter(None, str_list)
#       print(str_list, file =log)

#print(arr[:][:])

#import fileinput
#for line in fileinput.FileInput("test",inplace=1):
#    if line.rstrip():
#        print(line, file=log1)

测试数据文件(大约10^7行):

代码语言:javascript
运行
复制
  0.11361097E+01  0.19677992E+01 -0.54626220E+00 -0.87053581E+00
  0.11361097E+01  0.19677992E+01 -0.54626220E+00  0.87053581E+00
  0.11361097E+01  0.19677992E+01  0.22336976E+01  0.90485914E+00
  0.11361097E+01  0.19677992E+01  0.22336976E+01 -0.90485916E+00
  0.11361097E+01  0.19677992E+01  0.23120941E+01 -0.42934308E+00
  0.11361097E+01  0.19677992E+01  0.23120941E+01  0.42934308E+00
  0.11361097E+01  0.19677992E+01  0.24740033E+01 -0.98827766E+00
  0.11361097E+01  0.19677992E+01  0.24740033E+01  0.98827766E+00
  0.11361097E+01  0.19677992E+01  0.24777489E+01 -0.52602145E+00
  0.11361097E+01  0.19677992E+01  0.24777489E+01  0.52602145E+00

我想在文件中输出的内容是:

代码语言:javascript
运行
复制
1.1361097 1.9677992 -0.87053581
1.1361097 1.9677992  0.87053581

而现在我得到的是:

代码语言:javascript
运行
复制
[(1.1361097, 1.9677992, -0.87053581)]
[(1.1361097, 1.9677992, 0.87053581)]
[]
[]
[]
[]
[]
[]
[]
[]

所以我的问题是:

  • 如何摆脱附加的空列表-> []?
  • 如何摆脱方括号和圆括号?

我知道这些问题经常被问到,我试着解决它,但我无法解决它。在注释部分,您可以看到我已经尝试过的内容……

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50665722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档