我想使用 Python 从一个文件中读取一组复数到一个数组中。我知道如何只对整数进行处理。我试过了,但是当我运行它时,它说:complex() arg is a malformed string。我该怎么做才能读取复数?我刚开始学习 Python。
f=open("file.txt","r+")
array=[]
for line in f:
line=line.split()
if line:
line=[complex(i) for i in line]
我的文件只包含复数:
1+i
1-i
1
2
-3
最佳答案
python中的虚数单位需要用工程师的j
代替数学家的i
。
你可以改变一些简单的东西,比如:
line = line.replace('i', 'j').split()
而不是您当前拥有的 line=line.split()
,这应该可以修复您的代码。
请注意,如果您真的每行只有一个数字,则根本不需要 .split()
,并且您仍然需要将结果附加到容器 array
。我会把那一点留给你。
顺便说一句,如果您有可用的 numpy,请考虑使用 numpy.loadtxt
来解析您的文件。
关于python - 如何使用python从文件中读取复数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16455658/