2017-09-27 9 views
0

私はまだPythonを学んでいます。 私はキーフレーム1000および2000Maya Python:リストを整数に変換する方法

shotLength = cmds.keyframe(time=(1000,2000) ,query=True) 
del shotLength[:-1] 
print shotLength 

結果とアニメーションの最後のキーフレームを取得:この時点で

[1090.0] 

唯一の希望のキーフレームは、値としてリストに残っています。 私はそうのような整数にこの値を変換:

shotLengthInt = list(map(int, shotLength)) 
print shotLengthInt 

結果:

[1090] 

は今、私はそれが次のようになりますので、この値に1を追加したい:

[1091] 

私はちょうど方法を把握できません。あなたの値はその1で、この値を更新するために、(角括弧に注意してください)、リスト内に含まれている

+0

'shotLengthInt [0] + = 1 ' – AK47

+0

あなたが実際にリストにあなたの' int'を持ってしてもよろしいでしょうか?もしそうでなければ、あなたは単に最初に行うことができます: 'lastFrame = int(shotLength [-1])+ 1';さもなければ、 'shotLengthInt [0] + = 1'(@ AK47が示唆したように)で行くことができます。それは単に複雑すぎると感じます。 – mapofemergence

+0

@mapofemergenceありがとう!それは実際には完璧です。 – dave

答えて

2

に値を割り当てるときにもlist()を削除する次を編集することができます。

shotLengthInt = list(map(int, shotLength)) 
print shotLengthInt 

私たちは、マッピングするためにラムダ関数を渡すことができ、それを達成するために:

shotLengthInt = map(lambda x: int(x) + 1, shotLength) 
print shotLengthInt 
+0

'shotLengthInt = map(lambda x:int(x)+ 1、shotLength)' – AK47

+0

はい、あなたの権利は、リストに再度変換する必要はありません、ありがとう、私はansを編集します。 – dalonlobo

1

、あなたはその1

>>> shotLengthInt = [1090] 
>>> shotLengthInt 
> [1090] 
>>> shotLengthInt[0] += 1 
>>> shotLengthInt 
> [1091] 

によってあなたができるリストと増分の最初のインデックスを参照する必要がありますshotLengthInt

>>> shotLength = [1090.0] 
>>> shotLength 
> [1090.0] 
>>> shotLengthInt = map(int, shotLength) 
>>> shotLengthInt 
> [1090] 
関連する問題