Как убрать кавычки из переменной?

Результат работы кода
test = 'testovaya zapis'
a = [1, 129, 123, 64, 124, 121]
 
s = ""
for i in range(len(a)):
	s = s + "'" + str(a[i]) + "'"
	if i < len(a) - 1:
		s = s + ", "
s = s + ""
 
test_print = test,s
print(test_print)# your code goes here


('testovaya zapis', "'1', '129', '123', '64', '124', '121'")

Вопрос как удалить двойные кавычки?
  • Вопрос задан
  • 4304 просмотра
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
А к чему такой колхоз?:
a = [1, 129, 123, 64, 124, 121]
test = 'testovaya zapis'

test_print = test, ','.join([str(x) for x in a])
print(test_print)

('testovaya zapis', '1,129,123,64,124,121')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Drill
test = 'testovaya zapis'
a = [1, 129, 123, 64, 124, 121]

test_print = test, *map(str,a)
print(test_print)

In [14]: 
('testovaya zapis', '1', '129', '123', '64', '124', '121')
Ответ написан
Комментировать
tsarevfs
@tsarevfs
C++ developer
Давайте посмотрим как вы получили свой результат:
('testovaya zapis', "'1', '129', '123', '64', '124', '121'")

Ваш результат это стандартная печать для tuple(это как массив, но в круглых скобках и неизменяемый) с 2 элементами. Это дает круглые скобки и первую запятую(*,*)
Элементы это 2 строки testovaya zapis и '1', '129', '123', '64', '124', '121' . Строки по умолчанию отображаются в одинарных кавычках. Но, поскольку вторая строка уже содержит в себе одинарные кавычки, ее написали в двойных.
Вы вероятно хотите получить что-то такое:
('testovaya zapis', '1', '129', '123', '64', '124', '121')

Этого можно добиться разными способами, но но проще всего смотреть на это как на tuple из 7 строчек.

>>> test = 'testovaya zapis'
>>> a = [1, 129, 123, 64, 124, 121]
>>> res = (test,) + tuple([str(n) for n in a])
>>> print(res)
('testovaya zapis', '1', '129', '123', '64', '124', '121')


(test,) Запятая в конце важна. Это немного странный синтаксис для создания тупла из 1 элемента.
[str(n) for n in a] Это сокращенный вариант записи для цикла:
t = []
for n in a:
   t.append(str(n))


Массивы можно склеивать только с массивами, а туплы с туплами. Поэтому преобразуем массив в тупл явно.
Чуть проще это выглядит если бы мы хотели получить массив:
>>> res = [test] + [str(n) for n in a]
>>> print(res) #квадратные скобки
['testovaya zapis', '1', '129', '123', '64', '124', '121']
>>> print(', '.join(res)) #или без
testovaya zapis, 1, 129, 123, 64, 124, 121
Ответ написан
a = [1, 129, 123, 64, 124, 121]
a1 = ",".join(["'{}'".format(el)for el in a])
print(a1)

результат вот тут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы