Как убрать из списка все квадратные скобки и кавычки?
Я выводила построчно список студентов из конкретной группы.
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 згая его индекс через квадратные скобки
Мне нужно взаимодействовать с конкретными элементами списка, я давно это делал и посню что в.
Как заменить в текстовом файле все круглые скобки на квадратные
Как заменить в текстовом файле все круглые скобки на квадратные
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’
Автоматизируй это!
7540 / 4556 / 1206
Регистрация: 30.03.2015
Сообщений: 13,118
Записей в блоге: 29
tabbols95, так это ж строка, вот и апострофы (кавычки это вот -» «)
если критично при выводе, то можно так
print(f'')
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 , то нужно правильно использовать этот метод.
Автоматизируй это!
7540 / 4556 / 1206
Регистрация: 30.03.2015
Сообщений: 13,118
Записей в блоге: 29
Сообщение от Viktorrus
Вам не поможет.
еще как поможет, в питоне 3.7.0 на макос и 3.7.3 на винде прекрасно работает, как в консоли, так и в пичарме, без всяких проблем
Сообщение от Garry Galler
Если в классе переопределен умолчательный метод вывода строки — будет вот так:
в каком? Автор вызывает у курсора fetchall и сразу выводит, никаких объектов не задействовано
tabbols95, или фетчОлл у тебя возвращает не то что в комменте (а разве не кортеж кортежей?) или даже не знаю, у меня на разных питонах и осях все нормально.
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'')
что бы не вводить людей в заблуждение.
Автоматизируй это!
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: