python - 如何使用python从文件中读取复数

标签 python python-2.7 complex-numbers

我想使用 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/

相关文章:

python - 模仿 python 2.x 中的 .bash_history

python - 为什么重写 __contains__ 会破坏 OrderedDict.keys?

python - 是否有不包含任何库的可移植 Python 2.7 Windows 发行版?

python - 如何计算复数的模数?

c++ - 如何在 QtScript 中使用 C++ std 复数

Python (nltk) - UnicodeDecodeError : 'ascii' codec can't decode byte

Python 服务自定义命令参数

python - 优雅地退出 Python 中的程序?

Ansible playbook 中的 Mongodb 查找错误

python - 如何在numpy中将笛卡尔坐标转换为复数