Превратить строчку "100, 100" в перечисление целых чисел 100, 100
Tkinter, Pysimplegui имеют combobox, который хранит значения int или str через запятую. Я так понимаю, проще будет как-то поделить str на int и чтобы это всё стало tuple.
Короче, combobox имеет значение "100,100", на выходе должен получиться кортеж (100, 100).
Надеюсь, Вы меня поняли.
UPD: Короче, мне нужно сделать комбо с числами разных или одинаковых значений по 2. Типа ['100, 100', '12, 34', '24327, 241627'] Если это можно сделать без string, а, например, через скобки (я пытался), то спасибо.
Ответы (3 шт):
string = '100,100'
result = tuple(map(int, string.split(',')))
print(result)
Делаем из string список, разделитель - запятая, map переводит строки из списка в числа, из результата создаём кортеж.
Логика как и в предыдущем ответе (разделение строки методом split(), после чего изменение типа), но синтаксис более читаемый:
data = "100, 100"
converted_data = tuple(int(value) for value in data.split(','))
Не понятно, что вы хотите. Да, значения, из которых юзер выбирает, нужны выть в форме списка или кортежи, например
sg.Combo(("красный", "синий", "зеленый"))
sg.Combo([100, 200, 300])
Но ваше
sg.Combo((100, 100))

не имеет смысла — вы хотите, чтобы юзер выбирал между двумя одинаковыми возможностями?
Всё равно, я отвечу на ваш вопрос. И так, у вас строка чисел с запятой и пробелом (", ") между ними, например
str_of_nums = "100, 200, 300"
и вы хотите получить как результат список [100, 200, 300].
Примените метод .split() для получения списка ["100", "200", 300"]
list_of_numstr = str_of_nums.split(", ")
и затем генератор списка, для применения функции int() к всякому элементу этого списка:
list_of_nums = [int(element) for element in list_of_numstr]

