Dans mon script python, j'ai:
user = nuke.getInput("Frames Turned On")
userLst = [user]
print userLst
Résultat:
['12,33,223']
Je me demandais comment supprimer le '
de la liste ou le convertir en int.
Utilisez split()
pour séparer par une virgule, utilisez int()
pour convertir en entier:
user_lst = map(int, user.split(","))
Il n'y a pas de '
à supprimer dans la liste. Lorsque vous imprimez une liste, puisqu'elle n'a pas de représentation directe sous forme de chaîne, Python vous montre sa repr
- une chaîne indiquant sa structure. Vous avez une liste avec un élément, la chaîne 12,33,223
; C'est ce que [user]
fait.
Vous voulez probablement scinder la chaîne par des virgules, comme ceci:
user_list = user_input.split(',')
Si vous voulez que ceux-ci soient int
s, vous pouvez utiliser un compréhension de la liste :
user_list = [int(number) for number in user_input.split(',')]
[int(s) for s in user.split(",")]
Je ne sais pas pourquoi vous avez défini la variable userLst
distincte, qui est une liste à un élément.
>>> ast.literal_eval('12,33,223')
(12, 33, 223)