In my python Script I have:
user = nuke.getInput("Frames Turned On")
userLst = [user]
print userLst
Result:
['12,33,223']
I was wondering How I would remove the '
in the list, or somehow convert it into int?
The most Pythonic way to convert a list of strings to a list of ints is to use the list comprehension [int(x) for x in strings] . It iterates over all elements in the list and converts each list element x to an integer value using the int(x) built-in function.
To convert, or cast, a string to an integer in Python, you use the int() built-in function. The function takes in as a parameter the initial string you want to convert, and returns the integer equivalent of the value you passed. The general syntax looks something like this: int("str") .
To do this we use the split() method in string. The split method is used to split the strings and store them in the list. The built-in method returns a list of the words in the string, using the “delimiter” as the delimiter string.
Use split()
to split at the commas, use int()
to convert to integer:
user_lst = map(int, user.split(","))
There's no '
to remove in the list. When you print a list, since it has no direct string representation, Python shows you its repr
—a string that shows its structure. You have a list with one item, the string 12,33,223
; that's what [user]
does.
You probably want to split the string by commas, like so:
user_list = user_input.split(',')
If you want those to be int
s, you can use a list comprehension:
user_list = [int(number) for number in user_input.split(',')]
[int(s) for s in user.split(",")]
I have no idea why you've defined the separate userLst
variable, which is a one-element list.
>>> ast.literal_eval('12,33,223')
(12, 33, 223)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With