Python 将字符串用作参数时出错

Python 将字符串用作参数时出错,python,string,arguments,Python,String,Arguments,我有一个浮动列表[23453373496462364374424443533264]。然后,我将其格式化为一个字符串,如(234533734),(964623744),(244353264) 这是我要传递给的函数的格式示例: cmds.curve( p=[(0, 0, 0), (3, 5, 6), (5, 6, 7), (9, 9, 9)] ) 以下是我使用的返回错误的内容: cmds.curve( p = [ pStr ] ) 以下是错误: 第142行:标志“p”的参数无效。预期(距离,距

我有一个浮动列表
[23453373496462364374424443533264]
。然后,我将其格式化为一个字符串,如
(234533734),(964623744),(244353264)

这是我要传递给的函数的格式示例:

cmds.curve( p=[(0, 0, 0), (3, 5, 6), (5, 6, 7), (9, 9, 9)] )
以下是我使用的返回错误的内容:

cmds.curve( p = [ pStr ] )
以下是错误:

第142行:标志“p”的参数无效。预期(距离,距离,距离),获得[str,str]#


试试这个,看看它是否适合你。我有一种感觉,您正在不必要地转换为字符串

floats = [234, 533, 734, 964, 623, 744, 244, 353, 264]
groups = [tuple(floats[i:i+3]) for i in range(0, len(floats), 3] 
cmds.curve(p=groups)
尝试使用,单击查看python文档

>>> my_list = [234, 533, 734, 964, 623, 744, 244, 353, 264]
>>> zip(*[iter(my_list)]*3)
[(234, 533, 734), (964, 623, 744), (244, 353, 264)]

您必须将字符串更改为数字。这是一个与python相关的问题吗?因为您也可以将Python添加为标记。感谢Zaf的快速响应。我不知道怎么做。我的方法正确吗?使用cmds解决了它。curve(p=eval(pStr))@WarrenDaza,eval通常是不受欢迎的。这里还有一个关于堆栈溢出的类似问题,可能对你有帮助,这可能太聪明了:p还有,
1:
?@askewchan,我使用了一个名为python shell的程序,它把这些数字放在那里。