Как убрать кавычки в списке python
Перейти к содержимому

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

  • автор:

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

Я выводила построчно список студентов из конкретной группы.

1 2 3 4 5
my_len = [["БО-331101",["Акулова Алена", "Бабушкина Ксения"]],["БОВ-421102",[]],["БО-331103",[]]] for i in my_len: if i[0].startswith("БО-331101"): print(*i)

Весь этот кусочек с ещё двумя квадратными скобками является 0-ым по индексу элементом списка (я проверила через вывод).

1 2 3
print(my_len[0]) #[["БО-331101",["Акулова Алена", "Бабушкина Ксения"]] - это my_len[0]

Выводится по коду вот так:

БО-331101 ['Акулова Алена', 'Бабушкина Ксения']

Как можно убрать скобки и кавычки в фамилиях и именах? Выводить всё через запятую?

БО-331101, Акулова Алена, Бабушкина Ксения

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как убрать квадратные скобки?
Не могу записать формулу \sum_^<> (x_<>)<>^ * y<>_ (приложил еще фото на всякий.

Убрать квадратные скобки
n = int(input()) squares = print(squares) При выводе программа выводит следующее: Пример -.

Как обратиться к элементу списка list згая его индекс через квадратные скобки
Мне нужно взаимодействовать с конкретными элементами списка, я давно это делал и посню что в.

Как заменить в текстовом файле все круглые скобки на квадратные
Как заменить в текстовом файле все круглые скобки на квадратные

Эксперт функциональных языков программированияЭксперт Python

36833 / 19881 / 4166
Регистрация: 12.02.2012
Сообщений: 33,015
Записей в блоге: 13

Лучший ответ

Сообщение было отмечено Скопа как решение

Решение

1 2 3 4 5 6 7 8 9
def task(lst): for sub in lst: res=sub[0] for x in sub[1]: if len(x)>0: res=res+", "+x print(res) task([["БО-331101",["Акулова Алена", "Бабушкина Ксения"]],["БОВ-421102",[]],["БО-331103",[]]])

4974 / 3210 / 1125
Регистрация: 21.03.2016
Сообщений: 7,940

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

Я выводила построчно список студентов из конкретной группы
зачем вы его туда так запихнули. словари вам не знакомы?
Регистрация: 19.12.2020
Сообщений: 214

Semen-Semenich, я знаю про словари, но это не мой список, а условие задания. По условию информация была дана вот так. Следовательно, должен существовать какой-то способ решить задание без преобразований, в том виде, в каком его дали?

Catstail, спасибо

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

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

Как убрать фигурные скобки из списка
Здравствуйте! Написал программу. Но в списках стоят фигурные скобки. Как их убрать? Файл могу.

Удалить из заданного текста все части, заключенные в квадратные скобки.
Написать программу, удаляющую из заданного текста все части, заключенные в квадратные скобки.

Удалить из строки все цифры и заключить строку в квадратные скобки
помогите пожалуйста разработать программу в Delphi для решения задачи: Дана строка символов.

Почему все после оператора присвоения взято в квадратные скобки?
li = new_li = print(new_li) new_li = print (new_li) в строке ‘new_li=’ почему все.

Обработка строк: взять все слова, которые состоят из заглавных букв, в квадратные скобки
Здравствуйте,разбираюсь с работой строк в Python,и слегка застряг на одном задании. Задание.

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

Как убрать кавычки из названия элемента списка?
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

7540 / 4556 / 1206
Регистрация: 30.03.2015
Сообщений: 13,118
Записей в блоге: 29

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

print(f'')

Эксперт Python

5415 / 3839 / 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('привет')) 'привет' >>>

1727 / 967 / 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

7540 / 4556 / 1206
Регистрация: 30.03.2015
Сообщений: 13,118
Записей в блоге: 29

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

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

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

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

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

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

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

Эксперт Python

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

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

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

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

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

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

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

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

print(f'')

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

Эксперт Python

7540 / 4556 / 1206
Регистрация: 30.03.2015
Сообщений: 13,118
Записей в блоге: 29

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

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

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

1727 / 967 / 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 >>> # в кирилице одинарной кавычки нет (я не нашел), # поэтому при необходимости >>> # используется апостров из латиницы

Одинарные, двойные и тройные кавычки в строке Python

Язык программирования Python может манипулировать строками, которые могут быть записаны несколькими способами. Текстовые строки могут быть заключены в одинарные кавычки ( ‘. ‘ ) или двойные кавычки ( «. » ), что в результате будет одно и то же. Знак обратной косой черты ‘\’ может использоваться для экранирования кавычек:

# одинарные кавычки >>> 'spam eggs' # 'spam eggs' # используем \' для экранирования кавычки >>> 'doesn\'t' # "doesn't" # или вместо этого, используйте двойные кавычки >>> "doesn't" "doesn't" >>> '"Yes," they said.' # '"Yes," they said.' >>> "\"Yes,\" they said." # '"Yes," they said.' >>> '"Isn\'t," they said.' # '"Isn\'t," they said.' 

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

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

>>> '"Isn\'t," they said.' # '"Isn\'t," they said.' >>> print('"Isn\'t," they said.') # "Isn't," they said. # \n означает новую строку >>> s = 'First line.\nSecond line.' # без print(), \n включается в вывод >>> s # 'First line.\nSecond line.' # с помощью print(), \n создает новую строку >>> print(s) # First line. # Second line. 

Тройные кавычки.

Строковые литералы могут занимать несколько строк. Одним из способов является использование тройных кавычек: «»». «»» или »’. »’ . Конец строк автоматически включается в строку, но это можно предотвратить, добавив \в конец строки. Следующий пример:

print(""" Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to """) 

Производит следующий вывод, обратите внимание, что начальный перевод строки не включен:

Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Преобразование строки в число
  • Строку в список, кортеж или множество символов
  • Одинарные, двойные и тройные кавычки в строке Python
  • Вывод специальных символов в строке Python «как есть»
  • Объединение и повторение строк
  • Индексирование строк
  • Использование срезов строк
  • Cрез строки Python от заданного символа/знака до конца строки
  • Создание макета для печати базовыми методами строк
  • Способы форматирования текстовых строк
  • Подсчет повторений слов в тексте, деление строки на список слов
  • Удаление слова из строки 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:

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

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