Перейти к содержимому

Как убрать кавычки в списке python

  • автор:

Как удалить кавычки из строк в R (3 метода)

Есть три распространенных способа удаления кавычек из строк в R:

Способ 1: Используйте print()

print(some_strings, quote=FALSE) 

Способ 2: Используйте noquote()

noquote(some_strings) 

Способ 3: Используйте кошку()

cat(some_strings) 

В следующих примерах показано, как использовать каждый метод со следующим вектором строк:

#define vector of strings some_strings  

Обратите внимание, что строки по умолчанию печатаются в кавычках.

Пример 1. Удаление кавычек из строк с помощью функции print()

В следующем коде показано, как использовать функцию print() для печати строк с удаленными кавычками:

#print vector of strings without quotes print(some_strings, quote=FALSE) [1] hey these are some strings 

Пример 2. Удаление кавычек из строк с помощью noquote()

В следующем коде показано, как использовать функцию noquote() для печати строк с удаленными кавычками:

#print vector of strings without quotes noquote(some_strings) [1] hey these are some strings 

Пример 3. Удаление кавычек из строк с помощью функции cat()

В следующем коде показано, как использовать функцию cat() для печати строк с удаленными кавычками:

#print vector of strings without quotes cat(some_strings) hey these are some strings 

Вы также можете использовать аргумент \n для печати каждой строки без кавычек на новой строке:

#print vector of strings without quotes each on a new line cat(paste(some_strings, " \n ")) hey these are some strings 

Обратите внимание, что каждая строка в векторе печатается с новой строки.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Удаление кавычек в списке

При интерпретации показанного вами кода питоновый парсер не оставит в реальных объектах ни одной кавычки, а создаст список из трёх строк, внутри которых будут храниться только unicode-символы цифр и точек без кавычек. Поэтому ваш вопрос в текущем его виде не имеет смысла.

22 окт 2021 в 18:42

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Черточки это одинарные кавычки или апострофы. Ими описываются строковые литералы или просто строки

Лучше их не удалять, а преобразовать в числа, а именно в вещественные:

l = ['0.14', '0.4348', '0.06'] numbers = [float(x) for x in l] print(numbers) 

Или меняем текущий список, заменяя строки на числа:

l = ['0.14', '0.4348', '0.06'] for i in range(len(l)): l[i] = float(l[i]) print(l) 
[0.14, 0.4348, 0.06] 

Удаление одинарных кавычек из элемента списка python

На самом деле довольно простой вопрос: у меня есть список на Python, например:

['1','2','3','4'] 

Просто интересно, как я могу удалить эти одинарные кавычки? Я хочу [1,2,3,4]

Поделиться Источник 07 декабря 2011 в 17:34

3 ответа

В настоящее время все значения в вашем списке являются строками, и вы хотите, чтобы они были целыми числами, вот два самых простых способа сделать это:

map(int, your_list) 
[int(value) for value in your_list] 

Смотрите документацию по map() и списковым включениям для получения дополнительной информации.

Если вы хотите оставить элементы в вашем списке как строки, но отобразить их без одинарных кавычек, вы можете использовать следующее:

print('[' + ', '.join(your_list) + ']') 

Поделиться 07 декабря 2011 в 17:36

Если это фактический список Python, и вы хотите использовать int вместо строк, вы можете просто:

map(int, ['1','2','3','4']) 
[int(x) for x in ['1','2','3','4']] 

Как убрать кавычки из массива?

Author24 — интернет-сервис помощи студентам

Как убрать кавычки из названия элемента списка?
import os filename = os.listdir('c:\\Files\\Text1') file = open(filename) Выдаёт ошибку .

Как убрать из списка все квадратные скобки и кавычки?
Я выводила построчно список студентов из конкретной группы. my_len = ],],]] for i in my_len.

Как убрать кавычки?
У меня вот такой вот кусок кода на РНР mysqli_query($link, "INSERT INTO messages(msg, user).

Как убрать кавычки из строки?
Подскажите, пожалуйста, как убрать все кавычки(") из строки? s= 'string "with" q"uotes'

Автоматизируй это!

Эксперт Python

7102 / 4606 / 1214
Регистрация: 30.03.2015
Сообщений: 13,216
Записей в блоге: 29

tabbols95, так это ж строка, вот и апострофы (кавычки это вот -" ")
если критично при выводе, то можно так

print(f'')

Эксперт Python

5417 / 3841 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1

ЦитатаСообщение от tabbols95 Посмотреть сообщение

Как от них избавляются, подскажите.

Не надо от них избавляться.

Все это - одно и тоже:

1 2 3 4 5 6 7 8 9
>>> "привет" 'привет' >>> repr('привет') "'привет'" >>> str('привет') 'привет' >>> print('привет') привет >>>

просто это разные варианты конечной репрезентации строки.

Добавлено через 6 минут
Кстати, вы похоже, сами эту репрезентацию и изменили - раз print тоже в кавычках выводит.
Если в классе переопределен умолчательный метод вывода строки - будет вот так:

1 2 3
>>> print(repr('привет')) 'привет' >>>

1728 / 968 / 199
Регистрация: 22.02.2018
Сообщений: 2,694
Записей в блоге: 6
tabbols95, Если бы у Вас data содержала бы

[(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')]

то выводилось бы без кавычек. Как правильно говорит Garry Galler, у Вас программа где то дополнительно к одинарным кавычкам (апострофам) добавляет еще и двойные кавычки (двойные апострофы).
Использование

print(f'')

Вам не поможет. Все выше сказанное демонстрирует пример:

1 2 3 4 5 6 7 8 9 10 11 12
data = [(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')] print(data[0][1]) print('*' * 50) data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")] print(data[0][1]) print('*' * 50) data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")] print(f'')
1 2 3 4 5
Бабаевский ************************************************** 'Бабаевский' ************************************************** 'Бабаевский'

Отсюда следует, что Вам для решения Вашей задачи, как правильно заметил Garry Galler, нужно разобраться с Вашим кодом, что бы в переменную data поступал список без лишних кавычек, то есть поступало

[(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')]
[(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]

Добавлено через 8 минут
Или, что бы как опять же правильно заметил Garry Galler, если Вы используете классы, и у Вас присутствует метод
перегрузки __repr__, который перехватывает вывод инструкцией printer , то нужно правильно использовать этот метод.

Автоматизируй это!

Эксперт Python

7102 / 4606 / 1214
Регистрация: 30.03.2015
Сообщений: 13,216
Записей в блоге: 29

ЦитатаСообщение от Viktorrus Посмотреть сообщение

Вам не поможет.

еще как поможет, в питоне 3.7.0 на макос и 3.7.3 на винде прекрасно работает, как в консоли, так и в пичарме, без всяких проблем

ЦитатаСообщение от Garry Galler Посмотреть сообщение

Если в классе переопределен умолчательный метод вывода строки - будет вот так:

в каком? Автор вызывает у курсора fetchall и сразу выводит, никаких объектов не задействовано

tabbols95, или фетчОлл у тебя возвращает не то что в комменте (а разве не кортеж кортежей?) или даже не знаю, у меня на разных питонах и осях все нормально.

Эксперт Python

5417 / 3841 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1

ЦитатаСообщение от Welemir1 Посмотреть сообщение

Автор вызывает у курсора fetchall и сразу выводит, никаких объектов не задействовано
Вот это и странно. Либо ТС нас ввел в заблуждение и на самом деле у него

1 2 3
>>> data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")] >>> print(data[0][1]) 'Бабаевский'

- здесь кавычки в принте закономерны. И убирать их надо не здесь - так сказать, постфактум, а там, где он их лишний раз проставил.
Либо у него странным образом вместо str стал использоваться repr для вывода строк.

1728 / 968 / 199
Регистрация: 22.02.2018
Сообщений: 2,694
Записей в блоге: 6

ЦитатаСообщение от Welemir1 Посмотреть сообщение

3.7.3 на винде прекрасно работает
Так так и нужно было писать, "Установите версию 3.7.3 и используйте

print(f'')

что бы не вводить людей в заблуждение.
Автоматизируй это!

Эксперт Python

7102 / 4606 / 1214
Регистрация: 30.03.2015
Сообщений: 13,216
Записей в блоге: 29

ЦитатаСообщение от Garry Galler Посмотреть сообщение

где он их лишний раз проставил.

хм, слушай, может они у него в бд с кавычками. в общем желателен скрин от автора где видно в дебаггере что конкретно пришло в дата, ну и версию питона бы узнать.

1728 / 968 / 199
Регистрация: 22.02.2018
Сообщений: 2,694
Записей в блоге: 6

tabbols95, Если нельзя избавится от лишних кавычек по ходу программы, как я понял Вы данные получаете из базы данных, то убрать лишние кавычки перед печатью, что будет работать с любой версией 3.Х , можно добавив следующий фрагмент кода перед печатью

1 2 3 4 5 6 7
data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")] L = [] for ch in data[0][1]: if ord(ch) != 39: L.append(ch) s = ''.join(L) print(s)

Выводит без кавычек. Может кто нибудь предложит более элегантный вариант, как убрать лишние кавычки.

Добавлено через 18 минут
А вот так будет компактнее в одну строчку

1 2 3
#data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")] print(data[0][1].split("'")[1])

Но этот вариант будет работать, только если внутри выводимой строки не будет апострофа, иначе строка будет обрезана.

Добавлено через 2 минуты
И еще. Это у Вас будет работать, только если у вас каким либо образом не срабатывает repr .

Добавлено через 6 минут
А вообще, выше верно заметили, что для того, что бы дать конкретную рекомендацию, нужно видеть весь код, а не его фрагмент. Что бы можно было проанализировать его с помощью отладчика.

Добавлено через 12 минут
И еще одно замечание. Если у Вас кавычки идут в другом порядке, а именно так

[(1, '"Бабаевский"'), (3, '"Белозерский"'), (4, '"Вашкинский"')]

то строка должна быть такая

print(data[0][1].split('"')[1])

Добавлено через 4 минуты
Хотя в этом случае, в Вашем варианте вывод был бы таким "Бабаевский". Поэтому скорее всего у Вас первый вариант чередования кавычек.

Добавлено через 33 минуты
Для информации

1 2 3 4 5 6 7 8
>>> ord('"') # двойной апостров в латинице 34 >>> ord('"') # двойные кавычки в кириллице (раскладке клавиатуры) 34 >>> ord("'") # апостроф в латинице 39 >>> # в кирилице одинарной кавычки нет (я не нашел), # поэтому при необходимости >>> # используется апостров из латиницы

114 / 22 / 3
Регистрация: 11.09.2017
Сообщений: 141
Записей в блоге: 4

Viktorrus, я привел полностью текст программы, только лишь не указал connect к БД и как я объявляю cursor

636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
tabbols95, Все нормально в выводе
Автоматизируй это!

Эксперт Python

7102 / 4606 / 1214
Регистрация: 30.03.2015
Сообщений: 13,216
Записей в блоге: 29

tabbols95, можешь вот такой же скрин(как выше приводили) сделать где видно печать твоих кавычек?
и еще один желательно, где стоит бряка на строке с датой и в отладчике видно что туда пришло.

1728 / 968 / 199
Регистрация: 22.02.2018
Сообщений: 2,694
Записей в блоге: 6

ЦитатаСообщение от tabbols95 Посмотреть сообщение

я привел полностью текст программы, только лишь не указал connect к БД и как я объявляю cursor

А какая проблема выложить весь код полностью, раз он не такой большой?
И потом, Вы работаете с отладчиком? Какое содержимое переменной data показывает отладчик в пошаговом режиме, перед выводом на печать. Так как то, что показали Вы не может быть значением переменной data . При таком содержимом data вывод был бы без кавычек.
И укажите версию Вашего питона, это тоже может влиять.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как убрать кавычки , не могу их найти
Вот так во вкладке браузера выглядит название страницы. Где эти кавычки, найти не могу. Выручайте.

Как убрать кавычки из заголовка записи
помогите убрать кавычки из заголовка записи. См. скрин. Пере ковырял уже все.

Как убрать кавычки из вывода Arrays.tostring?
Здравствуйте! Задался вопросом, как убрать кавычки (которые еще и развернулись наизнанку после.

Как убрать пробел и кавычки из значения переменной в цикле FOR?
Есть скрипт который должен из списка файлов генерировать index.md в котором будут ссылки на файлы в.

Как регуляркой убрать кавычки вокруг букв в середине текста?
Как регуляркой убрать кавычки вокруг букв в середине этого текста: 'don't mess around','can't.

Или воспользуйтесь поиском по форуму:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *