将两个不同列表中的 str 数字转换为 python 中的复数列表 3.8
Converting str numbers to in two different lists to a list of Complex numbers in python 3.8
我是 python 的新手,我会重新编辑并讲清楚 :) 感谢您投入时间。
我有两个包含字符串值的不同列表(如下所示):
一个包含1600个实数的列表:['-1,03E+01' '-1,26E+01' ......]
另一个包含 1600 个虚数值的列表:[ '-1,25E+01' '-1,02E+01' .... ]
这些是直接从 touchstone 文件导入的。所以,我没有看到虚数的字母 j。我不认识你
- 首先我必须将值的类型从 'str' 更改为 float
进一步计算。
- 然后将它们作为复杂值附加到列表中,例如
[[-1,03E+01 -1,25E+01j] [-1,26E+01-1,02E+01j].......]
因为你已经编辑了你的问题,说你的数字实际上是由浮点值的字符串表示的(虽然你的第二个 [7j, 8j, et.c]
示例的第二个列表使这非常混乱):
l1 = ['-1,03E+01', '-1,26E+01']
l2 = ['-1,25E+01', '-1,02E+01']
[complex(float(a), float(b)) for a, b in zip(l1, l2)]
原回答:
两个列表 l1
包含实数值和 l2
包含虚数值 值 (正如你所描述的,但我认为你的意思是系数) :
[complex(a,b) for a, b in zip(l1, l2)]
此答案将为您提供一个复杂值列表:
[(1+7j), (2+8j), (3+9j), (4+10j), (5+11j), (6+12j)].
如您在下方评论中所述,如果您希望它成为
[ [(1+7j)] [(2+8j)] [(3+9j)] [(4+10j)] [(5+11j)] [(6+12j)] ]
如你的问题所示,然后将其更改为
[[complex(a, b)] for a, b in zip(l1,l2)]
我是 python 的新手,我会重新编辑并讲清楚 :) 感谢您投入时间。
我有两个包含字符串值的不同列表(如下所示):
一个包含1600个实数的列表:['-1,03E+01' '-1,26E+01' ......]
另一个包含 1600 个虚数值的列表:[ '-1,25E+01' '-1,02E+01' .... ]
这些是直接从 touchstone 文件导入的。所以,我没有看到虚数的字母 j。我不认识你
- 首先我必须将值的类型从 'str' 更改为 float 进一步计算。
- 然后将它们作为复杂值附加到列表中,例如 [[-1,03E+01 -1,25E+01j] [-1,26E+01-1,02E+01j].......]
因为你已经编辑了你的问题,说你的数字实际上是由浮点值的字符串表示的(虽然你的第二个 [7j, 8j, et.c]
示例的第二个列表使这非常混乱):
l1 = ['-1,03E+01', '-1,26E+01']
l2 = ['-1,25E+01', '-1,02E+01']
[complex(float(a), float(b)) for a, b in zip(l1, l2)]
原回答:
两个列表 l1
包含实数值和 l2
包含虚数值 值 (正如你所描述的,但我认为你的意思是系数) :
[complex(a,b) for a, b in zip(l1, l2)]
此答案将为您提供一个复杂值列表:
[(1+7j), (2+8j), (3+9j), (4+10j), (5+11j), (6+12j)].
如您在下方评论中所述,如果您希望它成为
[ [(1+7j)] [(2+8j)] [(3+9j)] [(4+10j)] [(5+11j)] [(6+12j)] ]
如你的问题所示,然后将其更改为
[[complex(a, b)] for a, b in zip(l1,l2)]