1

Тема: Стрічки

Доброго дня!

Наприклад є стрічка

a = 'qwerty'
a[0]

виведе 'q'
А якщо я хочу першому символу присвоїти тепер 'a' , то команда

a[0] = 'a'

призведе до помилки....
Як присвоїти якомусь елементу стрічки інший символ??

2 Востаннє редагувалося reverse2500 (21.02.2015 11:58:58)

Re: Стрічки

десь в книзі Марка Лутца були приклади для роботи з ситрічками, там і було про підміну букв

Подякували: Q-bart1

3

Re: Стрічки

якщо в вас аргументація десь в книзі, то я теж підозрюю, що стрічки в пайтоні незмінні, а існують спеціальни методи для цього. Пориньте в Python 3 на вікікнизі

Подякували: Q-bart1

4 Востаннє редагувалося Q-bart (21.02.2015 12:20:46)

Re: Стрічки

Вже знайшов рішення почитавши Мрка Лутца...
Стрічки в Python незмінні...
Можливо комусь буде потрібно..

a = 'qwert' 
a = a[:1] +'1' +a[1+1:] #замість w поставить 1
 
Подякували: 0xDADA11C7, Monolith2

5 Востаннє редагувалося reverse2500 (21.02.2015 13:11:21)

Re: Стрічки

якщо в вас аргументація десь в книзі

аргумент відкидаю, зайшов в папку пітона і почитав документацію

However, creating a new string with the combined content is easy and efficient:
>>> 'x' + word[1:]
'xelpA'
>>> 'Splat' + word[4]
'SplatA'
# python 2.7.6

шо цікаво в інтерактивному режимі працює, а скриптом ні

6

Re: Стрічки

Працює і скрипт, все нормально.

7

Re: Стрічки

Працює і скрипт, все нормально.

а приклад можна ?

8

Re: Стрічки

http://ideone.com/WWulzQ

Подякували: reverse2500, Q-bart2

9

Re: Стрічки

Рядки в пітоні незмінювані. Якщо з набором символів треба працювати як із змінюваним масивом, можна зробити так:
[code=py]
s='qwerty'
a=list(s)# Конвертуємо рядок у список
a[0]='a' # Якісь дії з елементами списку a...
s=''.join(a)#Конвертуємо назад у рядок
[/code]

Подякували: Q-bart1

10

Re: Стрічки

Або в масив байтів

11

Re: Стрічки

0xDADA11C7 написав:

Або в масив байтів

Для юнікодних рядків не годиться — лише для байтових.

12

Re: Стрічки

Бо складно обробляти потім?

13

Re: Стрічки

0xDADA11C7 написав:

Бо складно обробляти потім?

Якщо працювати лише з базовою латиницею — годиться. Якщо працювати з 8-бітними кодуваннями — теж можливий варіант. Але utf-8 у вигляді байтів відкриває безліч способів прострелити собі ногу.

14

Re: Стрічки

Я коли чую Юнікод, то уявляю собі віндовий UTF-16, а utf-8 це дійсно складніше