Характеры разные: У нас разные характеры… Как быть? (Ю. Гиппенрейтер)

У нас разные характеры…Как быть? (Юлия Гиппенрейтер)

Читать отрывок

Купить офлайн

Цена на сайте может отличаться от цены в магазинах сети. Внешний вид книги может отличаться от изображения на сайте.

Цена на сайте может отличаться от цены в магазинах сети. Внешний вид книги может отличаться от изображения на сайте.

Шумные и спокойные, подозрительные и простодушные, яркие и скромные — какие они, наши близкие, друзья, коллеги? Новая книга Юлии Борисовны Гиппенрейтер — самого известного в России психолога и автора бестселлера «Общаться с ребенком. Как?», — содержит ответы на жизненные вопросы. Существует ли идеальная совместимость и как подобрать партнера? Как строить отношения и разрешать конфликты? Что такое трудный характер и можно ли его изменить? Что влияет на нас больше: качества врожденные или заложенные воспитанием? . .Примеры из жизни и практические рекомендации помогут по-новому взглянуть на других и лучше узнать себя. . .

Описание

Характеристики

Шумные и спокойные, подозрительные и простодушные, яркие и скромные — какие они, наши близкие, друзья, коллеги? Новая книга Юлии Борисовны Гиппенрейтер — самого известного в России психолога и автора бестселлера «Общаться с ребенком. Как?», — содержит ответы на жизненные вопросы. Существует ли идеальная совместимость и как подобрать партнера? Как строить отношения и разрешать конфликты? Что такое трудный характер и можно ли его изменить? Что влияет на нас больше: качества врожденные или заложенные воспитанием? . .Примеры из жизни и практические рекомендации помогут по-новому взглянуть на других и лучше узнать себя. . .

Астрель

На товар пока нет отзывов

Поделитесь своим мнением раньше всех

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

1

Сделайте заказ в интернет-магазине

2

Напишите развёрнутый отзыв от 300 символов только на то, что вы купили

3

Дождитесь, пока отзыв опубликуют.

Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в первой десятке.

Правила начисления бонусов

Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в первой десятке.

Правила начисления бонусов

Книга «У нас разные характеры…Как быть?» есть в наличии в интернет-магазине «Читай-город» по привлекательной цене. Если вы находитесь в Москве, Санкт-Петербурге, Нижнем Новгороде, Казани, Екатеринбурге, Ростове-на-Дону или любом другом регионе России, вы можете оформить заказ на книгу Юлия Гиппенрейтер «У нас разные характеры.

..Как быть?» и выбрать удобный способ его получения: самовывоз, доставка курьером или отправка почтой. Чтобы покупать книги вам было ещё приятнее, мы регулярно проводим акции и конкурсы.

У нас разные характеры… Как быть? — МНОГОКНИГ.ee

У нас разные характеры… Как быть? — МНОГОКНИГ.ee — Книжный интернет-магазин

категории

книги

НовинкиАкции %АвтомобилиДетективы, боевикиДетская литератураДом, быт, досугИностранные языки, словариИстория, политикаКниги на английском языкеКниги на украинском языкеКомпьютерные технологииЛюбовный романМедицина и здоровьеПодарочные изданияПсихология, философияПутеводители, атласыСовременная и классическая литератураСпорт, оружие, рыбалкаСувениры. АксессуарыФантастикаЭзотерика, астрология, магияЭкономическая литература

Подарочные карты

игры, игрушки

MNOGOKNIG Games Игрушки Книги-игры Настольные игры Развивающие игры

товары для малышей

Прорезыватели и пустышки Шезлонги и качели Автокресла Аксессуары для защиты ребенка Вигвам Детская мебель Детская одежда Детские кроватки Кровать для путешествий Купание малыша Матрасы Подушки для беременных Развивающие игрушки для малышей Текстиль Товары для кормления Уход за малышом Ходунки

товары для праздника

Все открытки Карнавальные костюмы, маски и аксессуары Одноразовая посуда Подарочные коробки Подарочные пакеты Свечи Шарики

товары для школы

Бумажная продукция Глобусы Канцелярские товары Папки Пеналы Товары для творчества Школьные ранцы

товары для живописи, рукоделия и хобби

Декорирование Жемчуг эффект для декупажа Живопись Контур по стеклу и керамике Контур по ткани Краски для свечей Маркеры для скетчинга Моделирование Прочее Рукоделие

традиционные товары

Костровые чаши и очаги Матрёшки Платки Самовары Фарфоровые фигурки

другие товары

Аксессуары для девочек Аксессуары для мальчиков Брелки Копилки Товары для пикника Фотоальбомы

издательство

Об издательстве Многоразовые наклейки Настольные игры Рабочие тетради для дошкольников Рабочие тетради для школьников Развивающее лото Раскраски для девочек Раскраски машины и техника Раскрась водой! Учебные пособия для дошкольников

Код: 9785170819508

Купить

Цены в интернет-магазине могут отличаться от цены в физических магазинах

Автор:ГИППЕНРЕЙТЕР Ю.
Издательство:АСТ
Серия: Гиппенрейтер!
Год издания: 2012
Примечание:
Страниц 256 стр.
Формат 60×90/16 (145х215 мм)
Тираж 35500 экз.
Переплет Мягкая обложка

Под заказ

От производителя Шумные и спокойные, подозрительные и простодушные, яркие и скромные — какие они, наши близкие, друзья, коллеги? Новая книга Юлии Борисовны Гиппенрейтер — самого известного в России психолога и автора бестселлера «Общаться с ребенком. Как?», — содержит ответы на жизненные вопросы.
Существует ли идеальная совместимость и как подобрать партнера? Как строить отношения и разрешать конфликты? Что такое трудный характер и можно ли его изменить? Что влияет на нас больше: качества врожденные или заложенные воспитанием?
Примеры из жизни и практические рекомендации помогут по-новому взглянуть на других и лучше узнать себя.

5 способов замены нескольких символов в строке в Python

Знаете ли вы, что строки являются неизменяемыми объектами в Python? Их значения, однажды объявленные, не могут быть изменены. Отсюда возникла необходимость использовать различные функции для работы со строками. В этой статье мы узнаем, как заменить несколько символов в строке в Python.

Прежде чем двигаться дальше, давайте немного освежим в памяти строки:

Что такое строки?

В Python все является объектом. Строки также являются объектами Python, но обычно они определяются как последовательность символов, заключенная в кавычки ( либо ‘ ‘, либо » » ). Эти символы могут быть az, AZ, 0-9.или специальные символы (например, $, %) и пробелы (‘ ‘).

Что вы подразумеваете под заменой нескольких символов в строке?

При решении проблем часто возникает необходимость заменить несколько символов (возможно, один или несколько) в строке. Но вопрос в том, что вы понимаете под заменой нескольких символов в строке?

Над строками можно выполнять множество операций. Но когда мы говорим «замена символов в строке в Python», на ум приходят следующие случаи:0003

  1. Замена символа в строке другим символом. Например, допустим, у нас есть строка « Favtutor », и мы хотим заменить первое вхождение «t» на «T». Теперь, поскольку мы заменяем только «t» на другую «T», это называется заменой одного символа в строке.
  2. Замена всех вхождений символа в строке другим символом. Возьмем приведенный выше пример, предположим, что вы хотите заменить оба вхождения «t» в строке » Favtutor » с ‘T’. Это приведет к строке: » FavTuTor «. Следовательно, это заменяет все вхождения символа в строку. (Вы всегда можете указать количество вхождений этого символа, вы хотите заменить).
  3. Замена нескольких символов в строке символом ‘ тот же ‘. Например, у вас есть строка « Hello world », и вы хотите заменить символы, скажем, « l » и « o », на другой символ, скажем, «!». Это приведет к: » Он!!! W!r!d «. Это пример замены нескольких символов в строке одним (таким же) символом.
  4. Замена нескольких символов в строке другими символами (разными). Например, возьмем утверждение «Строки неизменяемы». Вам нужно заменить символы, скажем [‘r’, ‘m’, ‘i’], на, допустим [‘R’, ‘!’, ‘M’], в соответствующем порядке, т.е. ‘r’ заменено на «R», «M» заменено на «!» и «я» заменено на «М». Следовательно, это приведет к «StRMngs aRe M!!utable». Иногда эту группу из нескольких символов также можно назвать «9».0024 Подстроки ‘.
  5. Удаление символов в строке. Например, рассмотрим строку «Любимый репетитор». Теперь предположим, что вам нужно удалить пробел (‘ ‘) между «Fav» и «Tutor». Вы можете удалить это пустое место, заменив его на («»). Следовательно, вывод здесь будет: «FavTutor».

Здесь вы можете узнать, как удалить пробелы из строки в Python.

Вам должно быть интересно, как мы можем вносить изменения (в данном случае заменять символы) в строках. Строки неизменяемы, не так ли?

Ну, строки неизменяемы! Методы (вы их скоро узнаете) принимают исходную строку в качестве входных данных и возвращают измененную (после замены символов) строку в качестве выходных данных. Этот вывод сохраняется в другой строковой переменной. Следовательно, нам нужна еще одна переменная (строковый объект) для хранения полученных результатов. Таким образом, в исходную строку не вносятся никакие изменения, сохраняя ее неизменное свойство.

Как заменить несколько символов в строке в Python?

Python предлагает различные модули и методы для замены нескольких символов в строке. Теперь эти несколько символов могут быть либо по отдельности, либо вместе как «слово» . Хотя мы сосредоточены на замене нескольких символов, эти методы также можно применять для замены одного символа в строке в Python.

Начнем!

01) Использование метода replace()

Python предлагает метод replace() для замены символов (одиночных или нескольких) в строке. Метод replace возвращает новый объект (строку), заменяя указанные поля (символы) новыми значениями.

Метод replace() принимает в качестве входных данных два параметра: первый — это шаблон, который вы хотите (сопоставить в строке) для замены, а второй параметр — это шаблон (символ), который вы хотите заменить.

Наиболее часто используемый синтаксис для replace():

newObject = originalString.replace(‘символ для замены’, ‘символ для замены’ )

Давайте рассмотрим пример:

 # Использование replace() метод
строка = "Жвачка"

# замена символа 'b' на 'B'
измененная_строка = строка.заменить ("б", "б")

print("Исходная строка: ", строка)
print("Новая строка: ", измененная_строка)
 

 

Вывод:

 Исходная строка: Bubblegum
Новая строка: BuBBlegum
 

 

Обратите внимание, как буквы «b» в исходной строке «Bubblegum» заменены на «B». Это пример замены нескольких вхождений одного символа в строку.

Метод replace() также имеет третий параметр (необязательный), в котором вы можете указать количество замен, которые вы хотите выполнить.

То есть, если в каком-либо слове, например, «Bubblegum» есть более одного вхождения символа, здесь ‘b’, то мы можем ввести третий параметр как 1, если нам нужно заменить только один ‘b’ из строки.

Следовательно, основной синтаксис метода replace():

newObject = originalString.replace(‘символ для замены’, ‘символ для замены, количество замен для выполнения)

Давайте посмотрим на код для этого примера:

 # Использование метода replace()
строка = "Жвачка"

# замена символа 'b' на 'B'
измененная_строка = строка.заменить ("б", "б", 1)

print("Исходная строка: ", строка)
print("Новая строка: ", измененная_строка)
 

 

По умолчанию в строке заменяются все вхождения первого параметра.

Вывод:

 Исходная строка: Bubblegum
Новая строка: BuBblegum
 

 

Обратите внимание, что только первое вхождение «b» было заменено на «B». Это произошло из-за того, что количество выполняемых замен было установлено равным 1.

02) Использование replace() со списками

В приведенном выше методе мы видели использование метода replace() для замены отдельных символов (одиночных или больше вхождений) с другим символом. Метод replace() также можно использовать для замены нескольких (разных) символов другим (таким же или другим для каждого) символом.

Использование цикла for: Самый распространенный способ работы со списками — использование цикла for. Чтобы заменить несколько символов (скажем, разных) с помощью метода replace(), вы можете перечислить все символы, которые нужно удалить, в списке.

Пример объявления списка:

 # несколько символов для замены

string = "Блог FavTutor: как удалить несколько символов в строке в Python"
# допустим нам нужно заменить символы - 't', 'l', 'r'
# создание списка заменяемых символов
char_remov = ['т', 'л', 'р']
 

 

Вам может быть интересно, зачем мы создаем список или даже используем цикл for, когда мы можем напрямую вызывать replace() для каждого из символов.

Довольно просто, правда?

Нет, это не так. Вы найдете причину позже в блоге. (Итак, следите за этим!)

После инициализации списка вы можете заменить упомянутые символы одним и тем же символом (т. е. все по одному) или несколькими символами (т. е. разными символами для каждого).

Случай: Замена нескольких символов одним и тем же символом:

 # несколько символов для замены
string = "Блог FavTutor: как удалить несколько символов в строке в Python"
# допустим нам нужно заменить символы - 't', 'l', 'r'
# создание списка заменяемых символов
char_remov = ["т", "л", "р"]

print("Исходная строка: " + строка)
# допустим, нам нужно заменить их специальным символом '#'
# Использование цикла for для каждого символа char_remov

для char в char_remov:
    # replace() "возвращает" измененную строку
    строка = строка.заменить (символ, "#")

print("Измененная строка: " + строка)
 

 

Вы заметите, как я использовал цикл for, чтобы проанализировать строку для «каждого символа» в списке, чтобы заменить его другим символом (например, «#»).

Результат:

 Исходная строка: Блог FavTutor: Как удалить несколько символов в строке в Python
Измененная строка: FavTu#o# B#og: Как #o Удалить mu##ip#e cha#ac#e#s в s##ing в Py#hon
 

 

Еще раз обратите внимание, что мы заменили заменяемые символы (элементы в списке char_remov) тем же символом (‘#’), что и выше.

03) Использование replace() со словарем

Мы также можем использовать разные символы для каждого заменяемого символа. Для того, чтобы добиться этого, вы должны знать о словарях!

Что такое словарь в Python? a Словарь – это набор пар ключ-значение. Это еще один тип данных, предлагаемый Python, который также считается реализацией Python ассоциативной структуры данных массива. Они изменяемы и не допускают дублирования, поскольку ключ может иметь только одно значение.

Словарь представлен: {}.

Пример словаря можно увидеть так:

 # пример объявления словаря
# словарь = {'ключ': значение}
# способ 1
словарь = {"FavTutor": "блоги", "язык": "Python"}

# доступ к значениям словаря
значение1 = словарь.получить("FavTutor")
print("Значения: ", value1," in ", Dictionary.get("язык"))
 

 

Выше приведен один из способов объявления словаря. Также показан один из подходов к получению значений с помощью ключей.

Вывод:

 Значения: блоги на Python
 

 

Теперь, когда вы знаете, что такое словарь и как им пользоваться, давайте вернемся к замене символов в строке. Давайте рассмотрим тот же пример, что и раньше, но вместо этого заменим каждый символ другим символом. (Давайте попробуем заменить их заглавными буквами. Это будет легко заметить.)

Случай: Замена нескольких символов разными символами в строке в Python

 # несколько символов для замены
string = "Блог Favtutor: как удалить несколько символов в строке в Python"
# символы для замены - 't', 'l', 'r', 's'
# символы для замены на -'T', 'L', 'R', 'S'

print("Исходная строка: ", строка)

""" создание словаря для замены символов
key - заменяемый символ
value - символ для замены на """

to_remov = {"t": "T", "l": "L", "r": "R", "s": "S"}

# .keys() возвращает список всех ключей в словаре
для char в to_remov.keys():
    #dictionName[keys] - еще один способ получить значение
    строка = строка. заменить (символ, to_remov [символ])

print("Измененная строка: " + строка)
 

 

Использование словаря упрощает замену каждого символа на другой с помощью пары ключ-значение. Хотя вы можете использовать словарь для замены нескольких символов одним символом, его использование не рекомендуется (поскольку в этом нет необходимости).

Вывод:

 Исходная строка: Блог Favtutor: Как удалить несколько символов в строке в Python
Измененная строка: блог FavTuToR: как удалить несколько символов в строке в Python
 

 

Надеюсь, вы нашли ответ на наш вопрос: «Зачем нам нужно использовать цикл?»

Ну, поскольку нам нужно заменить несколько символов в строке, потребность в цикле очевидна. Мы можем вызвать метод replace() для удаления каждого символа, но как долго вы собираетесь повторять этот процесс? А в случае большого количества заменяемых символов вызов replace() для каждого символа не только увеличивает длину вашего кода, но и ухудшает его читабельность.

Кроме того, сложнее отслеживать длинный список заменяемых символов. Следовательно, перечислив (или создав словарь) заменяемые символы, нам легко завершить длительный повторяющийся процесс с помощью цикла.

Имейте это в виду. Это довольно просто, но может часто встречаться в интервью!

Метод replace() является наиболее распространенным методом замены любого символа в строке. Вы можете использовать любую из приведенных выше версий для замены нескольких символов в строке в Python. Существуют специальные символы (например, «|»), которые также можно использовать с выражениями. Такое использование специальных символов или шаблонов для замены используется в регулярных выражениях (или RegEx).

04) Использование модуля re

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

Существует два основных способа замены символов:

  1. Использование функции sub() с метасимволами или специальной последовательностью
  2. Использование функции sub() со списками и словарями

Прежде чем перейти к этим методам, давайте узнаем о функции sub().

Функция sub() в модуле re: Модуль re в Python предлагает функцию sub(), которая заменяет совпадающий символ (символ, указанный в строке) заданным (новым) символом. Это возвращает строку с новыми символами на месте. Обратите внимание, что вам нужно импортировать модуль re , чтобы использовать функцию sub().

Основной синтаксис для функции sub():

newString = re.sub( ‘characterToBeReplaced’, ‘characterToReplaceWith’, stringName )

Давайте рассмотрим пример, чтобы понять, как работает функция sub(): 9000 3

Случай: замена одного символа другим символом в строке

 # импорт модуля регулярных выражений
импортировать повторно

строка = "Фавтутор"
print("Исходная строка: ", строка)
"""Заменяемый символ = 't',
символ для замены на = 't'.  """

# вызов функции sub()
newString = re.sub("t", "T", строка)

print("Новая строка: ", newString)
 

 

‘t’ здесь также считается регулярным выражением. Также обратите внимание, что, в отличие от метода replace(), имя строки передается в качестве входного параметра подфункции.

Вывод:

 Исходная строка: Favtutor
Новая строка: FavTuTor
 

 

Функция sub() ищет в строке шаблон (символ), а затем заменяет совпадение (шаблон) новым символом. Он возвращает новую строку с внесенными изменениями. Обратите внимание, что вы также можете указать количество замен, которые должны произойти, передав » count » параметр в конце. Таким образом, основной синтаксис sub будет таким:

newString = re.sub(‘charactersToBeReplaced’, ‘characterToReplaceWith’ , stringName, count )

Теперь перейдем к замене несколько символов, используя функцию sub(), с помощью специальных символов!

Напомним, что метасимволы – это символы со специальным значением (например, ‘|’ для ‘либо-либо’) и специальные последовательности, такие как ‘\s’ для пробелов Эти метасимволы или специальные последовательности можно использовать для замены нескольких символов в строке. 0003

Обратите внимание на пример ниже:

Случай: замена нескольких символов в строке одним символом с использованием специальной последовательности и метасимволов

 # импорт модуля регулярных выражений
импортировать повторно

# несколько символов для замены
string = "Хозяин всего не является хозяином ничего"
print("Исходная строка: ", строка)
# допустим - заменяемые символы - 'm', 'n' и пробелы
# символ для замены на '#'

# вызов функции sub()
# пробел, представленный специальной последовательностью - '\s'
# '|' используется либо для либо

строка = re.sub("m|n|\s", "#", строка)
print("Новая строка: ", строка)
 

 

Обратите внимание, что в приведенном выше примере я использовал специальную последовательность (‘\s’), а также метасимвол (‘|’).

Выходные данные:

 Исходная строка: Мастер всего не является мастером ничего
Новая строка: A##aster#of#all#is#a##aster#of##o#e
 

 

Это еще один способ замены нескольких символов с помощью функции sub(). Но этот способ можно использовать до тех пор, пока количество заменяемых символов не будет ограничено несколькими. Как и раньше, нам нужно будет использовать цикл, чтобы работать с заменой нескольких символов (больше нескольких). Функцию sub() также можно использовать со списками и словарями.

Давайте рассмотрим пример использования функции sub() со словарем:

Случай: замена нескольких символов в строке разными символами с использованием словаря

 # импорт модуля регулярных выражений
импортировать повторно

# несколько символов для замены
string = "Блог Favtutor: как удалить несколько символов в строке в Python"
# символы для замены - 't', 'l', 'r', 's'
# символы для замены на -'T', 'L', 'R', 'S'

print("Исходная строка: ", строка)

""" создание словаря для замены символов
key - заменяемый символ
value - символ для замены на """

to_remov = {"t": "T", "l": "L", "r": "R", "s": "S"}

# .keys() возвращает список всех ключей в словаре
для char в to_remov. keys():
    #dictionName[keys] - еще один способ получить значение
    # вызов подфункции модуля re
    строка = re.sub (char, to_remov [char], строка)

print("Измененная строка: " + строка)
 

 

Последовательность символов (на которую ссылаются имена переменных ‘char’ и значения в словаре) представляет собой регулярные выражения.

Вывод:

 Исходная строка: Блог Favtutor: Как удалить несколько символов в строке в Python
Измененная строка: блог FavTuToR: как удалить несколько символов в строке в Python
 

 

Помимо функции sub() модуль re также предлагает функцию subn(), аналогичную функции sub(). Единственное отличие состоит в том, что функция subn() также предоставляет количество замен, сделанных ею в строке. Кроме того, функцию sub() также можно использовать с » lambda «.

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

05) Использование translate() и maketrans() может использоваться со списками и словарями. Однако Python предлагает другой метод, который использует словари для сопоставления старых значений с новыми значениями и, следовательно, для замены нескольких символов в строке.

Метод maketrans() создает таблицу сопоставления (словарь) между исходным персонажем и его заменой. См. пример ниже:

 # исходная строка
string = "Привет, меня зовут Мрадула Миттал. Я энтузиаст машинного обучения."
# вызов метода maketrans()
# замена «ми» на «ми»
transTable = string.maketrans("ми", "МИ")

# распечатка вывода, возвращаемого maketrans()
печать (транстаблица)
 

 

Метод maketrans() создает таблицу (словарь), сопоставляющую старые значения с новыми значениями.

Вывод:

 {109:77, 105:73}
 

 

Обратите внимание, что словарь (возвращенный maketrans()) содержит значения ASCII символов (как для замены, так и для замены).

Функция translate() принимает таблицу, созданную функцией maketrans(), и генерирует переведенную строку . Взгляните на приведенный ниже пример замены нескольких символов в строке в Python:

 # исходная строка
string = "Привет, меня зовут Мрадула Миттал. Я энтузиаст машинного обучения."
# вызов метода maketrans()
# замена «ми» на «ми»
translateTable = string.maketrans ("ми", "МИ")
вывод = string.translate (translateTable)

print("Исходная строка: ", строка)
печать('Вывод:', вывод)
 

 

Вывод:

 Исходная строка: Привет, меня зовут Мрадула Миттал. я энтузиаст машинного обучения.
Выход: ПРИВЕТ, Меня зовут Мрадула Миттал. Я энтузиаст машинного обучения.
 

 

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

Сравнение методов translate() и replace()

Метод translate() и метод replace() являются встроенными функциями Python для замены нескольких символов в строке. Вы можете использовать любой из них для выполнения задачи. Вот сравнение обоих методов:

1. Метод translate() заменяет только отдельные символы произвольными строками, тогда как метод replace() позволяет заменять строки произвольной длины. Например:

 # исходная строка
string = "Привет, меня зовут Мрадула Миттал. Я энтузиаст машинного обучения."
# вызов метода maketrans()
# замена 'mit' на 'MI'
translateTable = string.maketrans("mit", "MI")
вывод = string.translate (translateTable)

print("Исходная строка: ", строка)
печать("Вывод: ", вывод)
 

 

Вывод:

 Трассировка (последний последний вызов):
  Файл ".\temp.py", строка 5, в 
    translateTable = string.maketrans("mit", "MI")
ValueError: первые два аргумента maketrans должны иметь одинаковую длину
 

 

Обратите внимание на ошибку, возникающую при вызове метода maketrans(). Эта ошибка возникла из-за разницы в длине заменяемых символов (или количества символов) и заменяемых символов. Теперь давайте посмотрим, как метод replace() работает с регистром:

 # исходная строка
string = "Привет, меня зовут Мрадула Миттал.  Я энтузиаст машинного обучения."
# вызов метода maketrans()
# замена 'mit' на 'MI'
вывод = строка.заменить ("мит", "М")

print("Исходная строка: ", строка)
печать("Вывод: ", вывод)
 

 

Метод replace() обрабатывает входной параметр ‘mit’ как строку в целом, а не как последовательность отдельных символов. Кроме того, произвольная длина параметров не обязательно должна быть одинаковой.

Вывод:

 Исходная строка: Привет, меня зовут Мрадула Миттал. я энтузиаст машинного обучения.
Результат: Привет, меня зовут Мрадула Мтал. я энтузиаст машинного обучения.
 

 

Следовательно, вы заметите, что вместо замены «m», «i», «t» метод replace() заменяет только комбинацию «mit» с «M».

2. Метод translate() может выполнять замену «нескольких символов» за один вызов, в то время как метод replace() может заменять только «одну строку» за один раз.

3. Метод translate() можно использовать, если вы не уверены, заменяются ли новые символы (символы, которые нужно заменить).

Сложно? Не волнуйтесь, давайте рассмотрим пример, чтобы понять приведенные выше сравнения.

Например, рассмотрим строку, скажем, ‘abcd’. Теперь вам нужно заменить символы «a» на «b», «b» на «c» и «c» на «d».

Короче говоря, ввод = ‘abcd’       и          ожидаемый вывод = ‘bcdd’

Давайте сравним оба метода на приведенном выше вводе:

 # исходная строка
оригинал = "abcd"
# замена 'a' -> 'b', 'b' -> 'c', 'c' -> 'd'

# вызов метода maketrans()
translateTable = original.maketrans("abc", "bcd")
вывод = original.translate(translateTable)

print("Исходная строка: ", оригинал)
print("Использование метода translate() - Вывод: ", вывод)

# вызов метода replace() 
# использование вложенного метода replace вывод = original.replace('a', 'b').replace('b', 'c').replace('c', 'd') # это похоже на использование цикла for print("Исходная строка: ", оригинал) print("Использование метода replace() - Вывод: ", вывод)

 

Обратите внимание на разницу между выходными данными, возвращаемыми обоими методами.

Вывод:

 Исходная строка: abcd
Использование метода translate () - вывод: bcdd
Исходная строка: abcd
Использование метода replace(). Вывод: dddd
 

 

Оба метода дали разные результаты! Вы, должно быть, задаетесь вопросом «как», верно?

Это произошло из-за того, что метод replace() выполнялся в цикле один за другим. Перечислим изменения для лучшего понимания:

а. Ввод = ‘abcd’

б. Замените «a» на «b» => string = «bbcd»

c. Замените ‘b’ на ‘c’ => string = ‘cccd’

d. Замените ‘c’ на ‘d’ => ‘dddd’

Следовательно, вывод = ‘dddd’

Таким образом, в этом случае метод translate() соответствует ожидаемому результату.

Следовательно, сравнивая оба метода, вы заметите, что вам следует использовать метод translate(), когда речь идет о замене нескольких символов, так как это увеличивает функциональность. Хотя метод replace() имеет свои преимущества в оптимизации времени.

Также проверьте, как заменить один символ в строке в python.

Заключение

В этой статье мы рассмотрели, как использовать встроенные функции Python для замены нескольких символов в строке. Эту задачу также можно выполнить, используя различные варианты петель на струне. Мы также сравнили методы с различными вариантами использования. Я надеюсь, что эта статья поможет вам найти подходящий метод для вашего кода. Удачного кодирования!

Письмо вне вашей идентичности, часть 1 — Кролик с красной ручкой

В августе 2020 года я имел честь представить доклад о сознательном языке и репрезентации в письменной форме на конференции Гильдии писателей Сент-Луиса «Эволюция издательского дела». Большая часть этой презентации была посвящена проблеме того, как писать персонажей и опыт, не принадлежащий писателю.

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

Наши разные личности

Люди (и персонажи) имеют множество личностей, которые формируют их самих, и эти личности определяют их жизнь, то, как они себя видят и как к ним относятся другие и общество. В каждой из перечисленных ниже категорий есть группы, которые являются привилегированными/доминирующими, и есть группы, которые маргинализируются/угнетаются. Я не собираюсь вдаваться в дискуссию о привилегиях и угнетении в этом посте, но если вам интересно узнать больше об этих терминах, ознакомьтесь с этой статьей «Повседневный феминизм», в которой они разбираются.

  • Раса/этническая принадлежность

  • Пол/гендерная идентичность

  • Сексуальная и романтическая ориентация

  • Религия

    9 0026
  • Инвалидность

  • Нейроразнообразие

  • Медицинские диагнозы

  • Психическое здоровье расстройства

  • Возраст

  • Внешний вид и размер тела

  • Образование

  • Социально-экономический статус

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

Два сообщения о написании вне вашей идентичности

Я вижу два основных сообщения, с которыми борются писатели, когда дело доходит до написания идентичности вне их собственной:

Есть много писателей, которые хотят написать персонажей, не являющихся их личностями, но они беспокоятся о том, могут ли они или должны ли они это делать. Я считаю, что вы не должны ограничиваться написанием только того, что вы знаете, но когда вы пишете что-то помимо этого, вам придется потрудиться, чтобы сделать это правильно — так же, как нужно потрудиться, чтобы построить вымышленный мир или написать захватывающую историю. Разница здесь в том, что реальный вред может быть нанесен, если репрезентация не написана хорошо.

Персонажи с точкой зрения

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

  • Вы пишете об опыте идентичности, или персонаж просто имеет идентичность? Есть разница между написанием истории об опыте обретения идентичности и написанием истории о персонаже, у которого есть идентичность. Один из моих любимых примеров — Warcross от Marie Lu. Ее главный герой — американец китайского происхождения, но история не о том, как быть американцем китайского происхождения. Может быть, есть два или три упоминания об этническом происхождении Эмики — в противном случае это история о хакере, который оказался американцем китайского происхождения (чего мне было достаточно, чтобы написать сообщение в блоге о репрезентации). С другой стороны, писатель, которому никогда не приходилось признаваться другим в своей сексуальной ориентации, может решить написать рассказ об этом опыте, но он может рассказать историю, которую многие считают не своей.

  • Можете ли вы точно изобразить, что значит существовать как человек с маргинальной идентичностью, когда вы не разделяете эту идентичность? Исследования, безусловно, могут помочь вам понять аспекты личности за пределами вашей собственной личности, но есть и другие соображения, которые не так легко уловить в том, что вы можете прочитать или посмотреть. Можете ли вы рассказать о том, как люди могут относиться к персонажу из-за его личности? Индивидуальные предрассудки или системная дискриминация, с которыми они могут столкнуться? Культура, обычаи и история, формирующие их самоощущение, открытое или переплетенное с повседневной жизнью? Вы используете культуру, чтобы рассказать эту историю?

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

  • Ваш сюжет опирается на тропы , которые могут привести к вредному представлению? Персонаж-инвалид чудесным образом излечивается? Станет ли сильная главная героиня девицей, попавшей в беду во время кризиса? Персонаж BIPOC может добиться успеха только благодаря Белому спасителю? Какое сообщение вы отправляете?

  • Будете ли вы занимать место или отнимать возможности у писателей, которые пытаются рассказать свои собственные истории? Это больше связано с публикацией, чем с написанием, но, тем не менее, это важный вопрос. Маргинализированные писатели рассказывали анекдоты об отказах, которые они получали, потому что агенты или издатели находили их истории неуместными или потому что квота на «их типы историй» уже была выполнена. Сделки с публикацией ограничены, и сделки часто заключаются с немаргинализованными писателями, которые иногда пишут истории маргинализированных групп. В то же время маргинализированные писатели, которые пытаются рассказать свои собственные истории, часто не получают таких же возможностей (см.0024 American Dirt полемика).

В дискуссиях о репрезентативности и разнообразии в публикациях хэштег #OwnVoices стал ключевой частью разговора. Хэштег был запущен в 2015 году Коринн Дайвис, которая использовала его как способ идентифицировать «разных персонажей, написанных авторами из одной и той же разнообразной группы». По сути, это условное обозначение работ маргинализированных авторов и знание того, что аспекты их истории известны из первых рук. Дайвис проводит различие между идеей авторов #OwnVoices и историями #OwnVoices, подчеркивая последнее. У персонажей много личностей, поэтому вполне вероятно, что некоторые личности персонажей будут отличаться от личностей автора. Например, персонаж точки зрения может быть черным и бисексуальным, а автор, пишущий их, — черным и натуралом. Поэтому это история #СобственныхГолосов о расе, а не о сексуальной ориентации.

Второстепенные персонажи

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

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

About the Author

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

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

Related Posts