Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Питон , из кортежа в строку

#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

Комментариев нет:

Отправить комментарий