Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 22, 2010 12:21:36

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

сравнение строк

всем привет. из базы получаю 2 массива

 
mas1 =[ ['\xc0\xed\xe4\xf0\xe5\xe5\xe2\xe0 \xc5\xea\xe0\xf2\xe5\xf0\xe8\xed\xe0 \xcf\xe5\xf2\xf0\xee\xe2\xed\xe0', ['2010-11-01', 3], ['2010-11-02', 5], ['2010-11-03', 1]],
['\xc2\xe0\xf1\xe8\xeb\xfc\xe5\xe2\xe0 \xc0.\xcd.', ['2010-11-01', 6], ['2010-11-02', 6], ['2010-11-03', 6]],
['\xcc\xe0\xea\xee\xe2\xe0 \xc3.\xd0.', ['2010-11-01', 7], ['2010-11-02', 8], ['2010-11-03', 8]]]

mas2 =[ ['\xc0\xed\xe4\xf0\xe5\xe5\xe2\xe0 \xc5\xea\xe0\xf2\xe5\xf0\xe8\xed\xe0 \xcf\xe5\xf2\xf0\xee\xe2\xed\xe0', ['2010-11-01', 3], ['2010-11-02', 5], ['2010-11-03', 1]],
['\xc4\xec\xe8\xf2\xf0\xe8\xe5\xe2\xe0 \xc0.\xc8.', ['2010-11-01', 6], ['2010-11-02', 7], ['2010-11-03', 4]],
['\xc2\xe0\xf1\xe8\xeb\xfc\xe5\xe2\xe0 \xc0.\xcd.', ['2010-11-01', 6], ['2010-11-02', 6], ['2010-11-03', 6]]]
нужно получить 1 массив не совпадающими Mas.
пишу
def func_1(mas3, mas4):
for j in mas4:
if mas3[0] == j[0]:
return True
return False

for i in mas1:
if func_1(i[0],mas2):
pass
else:
mas2 += [i]
получаю mas1+mas2
возникла проблема при сравнивании. если я сравниваю
if mas1[1][0] == mas2[2][0]:
print 'yes'
то все правильно а если использую функцию то все не одинаковые.
объясните как такое возможно.



Офлайн

#2 Ноя. 22, 2010 15:33:54

nrm
От:
Зарегистрирован: 2009-06-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

сравнение строк

Привет, ну попробую подсказать:
1)

else:
mas2 += [i]
ты используешь переменную типа list, а это изменяемый тип. Это означает, что ты добавляешь в свою переменную новый элемент. Вообще идеологически более правильно использовать
mas2.append(i)
Ну а остальное вытекает уже из этого, на выходе ты получил список всех элементов mas2 + (все элементы mas1, которых нет в mas2)

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



Отредактировано (Ноя. 22, 2010 17:13:34)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version