gpt4 book ai didi

python - Python中列表的迭代

转载 作者:行者123 更新时间:2023-11-28 20:32:59 24 4
gpt4 key购买 nike

我有一个位 0 和 1 的列表。我需要使用循环逐一迭代它并进行计算。这是代码:

bit=['1','0','0','1']
message=''.join(bit)
print (message)

if (message==1):
theta=0
else:
theta=45

HWPX=[0, math.cos(4*math.radians(theta)), math.sin(4*math.radians(theta)), 0]
print (HWPX)

但是,在我运行这段代码后,只会计算第一位。

结果应该是这样的:

[0, 1.0, 0.0, 0], [0, -1.0, 1.2246467991473532e-16, 0],[0, -1.0, 1.2246467991473532e-16, 0],[0, 1.0, 0.0, 0]

如何产生想要的结果?谢谢。

最佳答案

我认为你需要遍历 message 的字符,你可以尝试如下:

import math

bit=['1','0','0','1']
message=''.join(bit)
print (message)

result = []
for i in message:
if (i=='1'):
theta=0
else:
theta=45

HWPX=[0, math.cos(4*math.radians(theta)), math.sin(4*math.radians(theta)), 0]
result.append(HWPX)
print (result)

或者使用 list comprehensionifelse:

import math

bit=['1','0','0','1']
message=''.join(bit)
print (message)

HWPX = [[0, math.cos(4*math.radians(0)), math.sin(4*math.radians(0)), 0] if i=='1'
else [0, math.cos(4*math.radians(45)), math.sin(4*math.radians(45)), 0]
for i in bit]
print(HWPX)

关于python - Python中列表的迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51605083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com