Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Докатился (списки Python) / 8 сообщений из 8, страница 1 из 1
08.05.2013, 13:46
    #38251737
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
Помогите с задачей на питине: автор1. Дан список произвольной размерности N. Переписать в другой список сначала все отрицательные элементы, а затем все неотрицательные, сохраняя порядок их следования.
У меня в голове сразу запрос автоматически формируется select * from spisok where .... Голова настолько забита запросами к таблицам что по другому думать не получается уже... Хотя бы логику скажите... не думается уже..
...
Рейтинг: 0 / 0
08.05.2013, 14:24
    #38251813
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
Перебором и сравнением. цикл for

или функцией filter()
...
Рейтинг: 0 / 0
08.05.2013, 15:01
    #38251888
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
Код: python
1.
2.
a=[-1,2,-3,4,5,-6]
print [i for i in a if i<0] + [i for i in a if i>=0]
...
Рейтинг: 0 / 0
08.05.2013, 15:04
    #38251896
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
тут можно почитать про списочные конструкции
http://habrahabr.ru/post/30232/
пример проверил jython 2.5.2
...
Рейтинг: 0 / 0
08.05.2013, 15:28
    #38251939
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
позор мне, не заметил произвольные размерности
сначала надо сплющить.... допустим рекурсивно...
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import types
flat=[]

def add_flat(x):
  global flat
  if type(x) is types.ListType:
    for i in x: add_flat(i)
  else:
    flat.append(x)
     
      

a=[-1,2,-3,[11,-12,56,-1000],4,5,-6]
add_flat(a)
print [i for i in flat if i<0] + [i for i in flat if i>=0]
...
Рейтинг: 0 / 0
08.05.2013, 16:55
    #38252103
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
Спасибо всем большое)) а то вообще на все смотрю как на таблицы и бд, ходил симку покупать, менеджер забивает паспортные данные, а я уже думаю, вот типа сотовые операторы свои базы данных людей формируют...
...
Рейтинг: 0 / 0
08.05.2013, 17:19
    #38252139
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
Vladimir Baskakovпозор мне, не заметил произвольные размерности
сначала надо сплющить.... допустим рекурсивно...
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import types
flat=[]

def add_flat(x):
  global flat
  if type(x) is types.ListType:
    for i in x: add_flat(i)
  else:
    flat.append(x)
     
      

a=[-1,2,-3,[11,-12,56,-1000],4,5,-6]
add_flat(a)
print [i for i in flat if i<0] + [i for i in flat if i>=0]



не работает ругается на print [i for i in flat if i<0] + [i for i in flat if i>=0], не нравиться цикл в в операторе принт, ладн сам разберусь
...
Рейтинг: 0 / 0
08.05.2013, 19:27
    #38252305
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Докатился (списки Python)
Mihail3, вот что вышло

авторa = [1,-3,7,-2,-8]
b=[]
c=[]
x=0
for x in a:
if x<0: b.append(x)
else: c.append(x)
print('Исходный список:',a)
print('То что меньше нуля',b)
print('То что больше нуля',c)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Докатился (списки Python) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]