Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2011 18:01:53

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

Здравствуйте, у меня такой вот вопрос: есть массив в неё есть единицы и нули нужно поменять нули на единицы а единицы на нули, на php сразу написал, функция replace, в питоне такая же функция и должно всё так же работать, но пока не получается, подскажите, пожалуйста, как это лучше реализовать? или может есть другие функции?



Офлайн

#2 Янв. 31, 2011 18:20:56

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

замена элементов массива на другие

что вы подразумеваете под массивом



Офлайн

#3 Янв. 31, 2011 18:26:48

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

набор индексированных однотипных данных, в моём случае это d = array([,])



Офлайн

#4 Янв. 31, 2011 19:41:10

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

Rumato,
В чем конкретно ошибка, проблема? Какой код вы уже написали и он не работает?
Хотя после “функция replace”, хочется отправить вас на курсы кройки и шитья.



Отредактировано (Янв. 31, 2011 19:41:44)

Офлайн

#5 Янв. 31, 2011 20:13:10

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

не знаю куда меня лучше отправить….

 
d = array([[0,1],[1,0]])
d = d.replace('0','1')
нечто подобное работает в php, я просто не нашёл ничего при помощи гугла как заменить одни элементы на другие в питоне, в коем только начинаю разбираться, если покажите как заменять элементы массива на другие, то буду искренне благодарен



Офлайн

#6 Фев. 1, 2011 12:30:58

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

 $path="in.txt";
$text=file($path);
$cirillic=array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п',
'р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю');
$latin=array('q','w','e','r','t','y','u','i','o','p','[',']',
'a','s','d','f','g','h','j','k','l',';','','z','x','c','v','b','n','m',',','.');
$newlat=str_ireplace($cirillic,$latin,$text);


foreach($newlat as $value)
{
echo $value.'<br>';
}
вот нечто подобное нужно сделать на питоне, только в массиве не буквы, слова, а цифры, просто не верится, что нет какого-то готового решения наподобие этого



Отредактировано (Фев. 1, 2011 12:31:59)

Офлайн

#7 Фев. 1, 2011 13:03:06

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

test = ['0','0','1','1']
test_2 = []
for i in test:
if i in '0':
zam_1 = i.replace('0','1')
test_2.append(zam_1)
else:
zam_2 = i.replace('1','0')
test_2.append(zam_2)
print test_2
Если я правильно понял то что вам нужно.
Решение сам по себе не очень .



Офлайн

#8 Фев. 1, 2011 13:39:26

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

все просто:

test = ['0','0','1','1']
res = ['1' if x == '0' else '0' if x == '1' else x for x in test]



Отредактировано (Фев. 1, 2011 13:39:41)

Офлайн

#9 Фев. 1, 2011 13:44:22

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

замена элементов массива на другие

Rumato
вот нечто подобное нужно сделать на питоне, только в массиве не буквы, слова, а цифры, просто не верится, что нет какого-то готового решения наподобие этого
Как это нет? В Питоне все есть :)!
import string
text = "abc"
text.translate(string.maketrans("abc", "123"))
странслирует в ‘123’. По-моему это полный аналог вашего str_replace.



Отредактировано (Фев. 1, 2011 13:44:42)

Офлайн

#10 Фев. 1, 2011 13:44:58

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена элементов массива на другие

большое спасибо за помощь, то что нужно



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version