#python #числа
Дан кортеж {"34", "76", "0", "532"} Как вытащить числа из этого кортежа чтобы при выводе имело такой вид? 34, 76, 0, 532 У меня только мысли засунуть в список, потом вытащить, но всё равно есть кавычки, как от них избавиться? a = {"34", "76", "0", "532"} lst=[] for i in a: lst.append(i) print(lst) ['532', '34', '0', '76']
Ответы
Ответ 1
Как минимум, (если есть уверенность, что в кортеже только числа) можно в список добавлять числа, а не строки, т. е. вместо lst.append(i), добавлять lst.append(int(i)), но есть способ короче: ", ".join(a) Вывод будет '0, 34, 532, 76'Ответ 2
У вас множество, не кортеж. Поэтому порядок элементов не будет сохранен. Вывести можно так print(', '.join(a))Ответ 3
Можно воспользоваться распаковкой аргумента. print(*{"34", "76", "0", "532"}, sep=', ')Ответ 4
Чтобы сделать числа из строк, примените функцию int(). Чтобы применить функцию к всякому элементу кортежи / списка / множества, используйте функцию map(), в которой в качестве первого параметра будет эта функция (без скобок): map(int, а) # a = {"34", "76", "0", "532"} Результатом будет генератор, из которого можете сделать кортеж, список или множество функциями tuple(), list() или set(). Например для print(list(map(int, a))) будет вывод [532, 34, 0, 76] и для for i in map(int, a): # в цикле for list() не нужен print(i) будет вывод 76 0 532 34 или же для for i in map(int, a): print("{:5}".format(i)) # 5 значит число позиций для цифр (может выть другое) будет вывод 76 34 532 0
Комментариев нет:
Отправить комментарий