关于python:使用字符串作为参数时出错

Error when using a string as a parameter

我有一个浮点数清单1(0)。然后,我把它格式化为一个字符串,比如"(234, 533, 734), (964, 623, 744), (244, 353, 264)"

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

1
cmds.curve( p=[(0, 0, 0), (3, 5, 6), (5, 6, 7), (9, 9, 9)] )

以下是我使用的返回错误的方法:

1
cmds.curve( p = [ pStr ] )

错误如下:

Line 142: Invalid arguments for flag 'p'.  Expected ( distance, distance, distance ), got [ str, str ] # 


尝试使用zip,单击此处查看python文档。

1
2
3
>>> 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)]


试试这个,看看它是否适合你。我有种感觉,你在不必要地转换成一根弦。

1
2
3
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)