Пересчитать элементы списка

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Здравствуйте!
Нужно пересчитать элементы списка по определенному правилу: каждый следующий элемент списка должен равняться предыдещему элементу плюс 100. Но повторяющиеся элементы массива изменяются сразу одновременно!

Задача сформулирована конечно криво. Как пример,что должно получиться:

На входе список:
mylist =[130, 131, 136, 136, 143, 150, 150, 150, 157]

Что нужно получить на выходе:
mylist2 =[130, 230, 330, 330, 430, 530, 530, 530, 630]

Спасибо!
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример:
Python:
mylist = [130, 131, 136, 136, 143, 150, 150, 150, 157]
mylist2 = []
x = 0
for i, item in enumerate(mylist):
    if i == 0:
        x = item

    elif item != mylist[i - 1]:
        x += 100

    mylist2.append(x)

print(mylist2)
 
  • Мне нравится
Реакции: OmgZomg, Vlad_SD и Student

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Python:
g_y = []
for i in mylist:
    g_y.append(i['y'])


tmp_list=[]
for c in range(len(set(g_y))):
    tmp_list.append([])



x = 0
y = 0
for i, item in enumerate(mylist):

    if i == 0:
        y = item['y']
        x = 0

    elif y != item['y']:
        x += 1
        y = item['y']

    tmp_list[x].append(item)

for inner_list in tmp_list:
    for it in inner_list:
        it['x']=0

a=[]
for i in range(0,len(tmp_list)):
    a.append(i)

def corr_list(lst,it):
    for c,item in enumerate(lst[it]):
        if c==0:
            item['x']=0
        else:
            lst[it][c]['x']=lst[it][c-1]['x']+300

def reverse_item(item):
    l=[]
    for it in item:
        l.append(it['x'])
    l.reverse()

    for v,b in zip(item,l):
        v['x']=b


for f in a:
    corr_list(tmp_list,f)



for i, item in enumerate(tmp_list):
    if i%2 !=0:
        reverse_item(item)


finish_list=[]
for i in tmp_list:
    for h in i:
        finish_list.append(h)
 
  • Мне нравится
Реакции: Student

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот еще один вариант решения:
Python:
mylist = [
    {'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
    {'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
    {'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
    {'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
    {'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
    {'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
    {'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
    {'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
    {'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250},
    {'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
    {'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
    {'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
    {'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
    {'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
    {'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
    {'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
    {'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
    {'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
    {'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550},
    {'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
    {'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
    {'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
    {'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
    {'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
    {'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
    {'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
    {'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
    {'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
    {'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850},
    {'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
    {'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
    {'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
    {'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
    {'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
    {'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
    {'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
    {'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
    {'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
    {'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
    {'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
    {'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
    {'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
    {'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
    {'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}
]


y = [i for i, item in enumerate(mylist) if item['y'] != mylist[i - 1]['y']] + [len(mylist)]

x = 0
for i, n in enumerate(y):
    if i % 2 == 0:
        for i, item in enumerate(reversed(mylist[x:n])):
            item['x'] = i * 300
    else:
        for i, item in enumerate(mylist[x:n]):
            item['x'] = i * 300
    x = n

for s in mylist:
    print(s)
 
  • Мне нравится
Реакции: Student

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Вот пример:
Python:
mylist = [130, 131, 136, 136, 143, 150, 150, 150, 157]
mylist2 = []
x = 0
for i, item in enumerate(mylist):
    if i == 0:
        x = item

    elif item != mylist[i - 1]:
        x += 100

    mylist2.append(x)

print(mylist2)
Спасибо Вам большое! Очень помогли!
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Здравствуйте!
Чтобы не создавать похожу тему, продолжу в этой.
Снова нужно пересчитать определенные элементы списка по определнному правилу.

Список, который нужно получить:

Код:
z_list=[
{'img_file': '727_41416_25052.png', 'num': 727, 'x': 0, 'y': 250},
{'img_file': '734_40760_25052.png', 'num': 734, 'x': 300, 'y': 250},
{'img_file': '741_40060_25052.png', 'num': 741, 'x': 600, 'y': 250},
{'img_file': '748_39362_25052.png', 'num': 748, 'x': 900, 'y': 250},
{'img_file': '755_38663_25052.png', 'num': 755, 'x': 1200, 'y': 250},
{'img_file': '762_37996_25052.png', 'num': 762, 'x': 1500, 'y': 250},
{'img_file': '769_37294_25052.png', 'num': 769, 'x': 1800, 'y': 250},
{'img_file': '776_36593_25052.png', 'num': 776, 'x': 2100, 'y': 250},
{'img_file': '783_35893_25052.png', 'num': 783, 'x': 2400, 'y': 250},
{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 2700, 'y': 550},
{'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 2400, 'y': 550},
{'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 2100, 'y': 550},
{'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1800, 'y': 550},
{'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1500, 'y': 550},
{'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1200, 'y': 550},
{'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 900, 'y': 550},
{'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 600, 'y': 550},
{'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 300, 'y': 550},
{'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 0, 'y': 550},
{'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 0, 'y': 850},
{'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 300, 'y': 850},
{'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 600, 'y': 850},
{'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 900, 'y': 850},
{'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1200, 'y': 850},
{'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1500, 'y': 850},
{'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1800, 'y': 850},
{'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 2100, 'y': 850},
{'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 2400, 'y': 850},
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 2700, 'y': 850},
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 4200, 'y': 1150},
{'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 3900, 'y': 1150},
{'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 3600, 'y': 1150},
{'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 3300, 'y': 1150},
{'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 3000, 'y': 1150},
{'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 2700, 'y': 1150},
{'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 2400, 'y': 1150},
{'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 2100, 'y': 1150},
{'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1800, 'y': 1150},
{'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1500, 'y': 1150},
{'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1200, 'y': 1150},
{'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 900, 'y': 1150},
{'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 600, 'y': 1150},
{'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 300, 'y': 1150},
{'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 0, 'y': 1150}]



Как видите, значения 'x' меняются следующим образом:
В зависимости от значения 'y' ,'x' меняется с шагом 300 поочередно ,то в порядке возрастания,то в порядке убывания.

Список, который идет на вход:

Код:
input=[
{'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
{'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
{'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
{'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
{'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
{'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
{'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
{'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
{'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250},
{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
{'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
{'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
{'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
{'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
{'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
{'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
{'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
{'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
{'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550},
{'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
{'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
{'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
{'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
{'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
{'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
{'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
{'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
{'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850},
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
{'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
{'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
{'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
{'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
{'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
{'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
{'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
{'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
{'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
{'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
{'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
{'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
{'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
{'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}
]

Помогите,пожалуйста написать код,который пересчитает значения 'x', как в списке z_list
Спасибо!
 
Последнее редактирование:

borntohack

змееуст
Команда форума
Модератор
Апр 22, 2020
78
62
18
39
Москва, РФ
Попробуй сам. Логику подсказываю:
1. Функция enumerate вернёт не только итерируемый элемент, но и его индекс.
2. Поскольку очерёдность бинарная (только две позиции) можно определять четность индекса
3. Четность проверяется нулевым остатком от деления на 2 (i%2==0)
4. Множитель для коэффициента в четном случае =-1, в нечетном: 1
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Попробуй сам. Логику подсказываю:
1. Функция enumerate вернёт не только итерируемый элемент, но и его индекс.
2. Поскольку очерёдность бинарная (только две позиции) можно определять четность индекса
3. Четность проверяется нулевым остатком от деления на 2 (i%2==0)
4. Множитель для коэффициента в четном случае =-1, в нечетном: 1
Что-то неочень понятно...
Зачем enumerate? Для чего мне индекс элемента?
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Здравствуйте!
Чтобы не создавать похожу тему, продолжу в этой.
Снова нужно пересчитать определенные элементы списка по определнному правилу.
В следующий раз создавайте отдельную тему, название можете немного поменять (Пересчитать элементы списка 2 или что-то подобное). Это нужно чтобы в каждой теме был вопрос (правильно оформленный), варианты ответа и лучший ответ. Чтобы другие пользователи, столкнувшиеся с похожей задачей могли легко разобраться.
Насчет вопроса - непонятен алгоритм формирования нового списка, а конкретно этот момент:
Python:
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 2700, 'y': 850},
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 4200, 'y': 1150}
как x увеличился на 1500 вместо 300?
Так как непонятен алгоритм можно написать решение только для данного частного случая, с другим списком оно работать не будет. Чтобы написать универсальное решение нужен четко сформулированный алгоритм.
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
В следующий раз создавайте отдельную тему, название можете немного поменять (Пересчитать элементы списка 2 или что-то подобное). Это нужно чтобы в каждой теме был вопрос (правильно оформленный), варианты ответа и лучший ответ. Чтобы другие пользователи, столкнувшиеся с похожей задачей могли легко разобраться.
Насчет вопроса - непонятен алгоритм формирования нового списка, а конкретно этот момент:
Python:
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 2700, 'y': 850},
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 4200, 'y': 1150}
как x увеличился на 1500 вместо 300?
Так как непонятен алгоритм можно написать решение только для данного частного случая, с другим списком оно работать не будет. Чтобы написать универсальное решение нужен четко сформулированный алгоритм.
По поводу новой темы понял. Буду иметь ввиду.


По поводу алгоритма, как я писал:
"Как видите, значения 'x' меняются следующим образом:
В зависимости от значения 'y' ,'x' меняется с шагом 300 поочередно ,то в порядке возрастания,то в порядке убывания."

Тоесть смотрите: значения 'y' = 250. Значения 'x' идут от 0 по возрастанию с шагом 300 (0-2400)
Дальше значения 'y' меняется. y = 550. А значения 'x' уже идут в порядке убывания с шагом 300 (2700-0)
Теперь 'y' снова меняется = 850. И значения 'x' опять идут в порядке возрастания с шагом 300 (0-2700)
И так далее в том же духе.
Вот я не могу сообразить алгоритм на питоне ,чтобы так менять значения 'x'
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот я не могу сообразить алгоритм на питоне ,чтобы так менять значения 'x'
Вот так примерно:
Python:
input_list = [
    {'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
    {'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
    {'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
    {'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
    {'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
    {'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
    {'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
    {'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
    {'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250},
    {'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
    {'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
    {'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
    {'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
    {'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
    {'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
    {'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
    {'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
    {'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
    {'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550},
    {'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
    {'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
    {'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
    {'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
    {'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
    {'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
    {'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
    {'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
    {'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
    {'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850},
    {'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
    {'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
    {'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
    {'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
    {'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
    {'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
    {'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
    {'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
    {'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
    {'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
    {'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
    {'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
    {'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
    {'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
    {'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}
]

mylist2 = []
x = 0
y = 0
z = 1
for i, item in enumerate(input_list):

    x += 300 * z

    if i == 0:
        y = item['y']
        x = 0

    elif y != item['y']:
        z = -z
        y = item['y']

    if x < 0:
        x = 0

    item['x'] = x
    mylist2.append(item)

for i in mylist2:
    print(i)
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Вот так примерно:
Python:
input_list = [
    {'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
    {'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
    {'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
    {'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
    {'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
    {'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
    {'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
    {'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
    {'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250},
    {'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
    {'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
    {'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
    {'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
    {'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
    {'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
    {'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
    {'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
    {'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
    {'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550},
    {'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
    {'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
    {'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
    {'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
    {'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
    {'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
    {'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
    {'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
    {'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
    {'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850},
    {'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
    {'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
    {'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
    {'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
    {'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
    {'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
    {'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
    {'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
    {'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
    {'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
    {'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
    {'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
    {'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
    {'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
    {'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}
]

mylist2 = []
x = 0
y = 0
z = 1
for i, item in enumerate(input_list):

    x += 300 * z

    if i == 0:
        y = item['y']
        x = 0

    elif y != item['y']:
        z = -z
        y = item['y']

    if x < 0:
        x = 0

    item['x'] = x
    mylist2.append(item)

for i in mylist2:
    print(i)

stud_55 , благодарю Вас за ответ!

Но на выходе не везде корректно пересчитывает

В этом месте

Код:
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 2700, 'y': 850}
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 3000, 'y': 1150}

где
Код:
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 3000, 'y': 1150}
Значение 'x' не 3000, а 4200 должно быть. Иначе в 0 дальше уходит.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
В этом месте

Код:
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 2700, 'y': 850}
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 3000, 'y': 1150}

где
Код:
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 3000, 'y': 1150}
Значение 'x' не 3000, а 4200 должно быть. Иначе в 0 дальше уходит.
Я же спрашивал у вас насчет этого. Что это не укладывается в алгоритм. Вы сказали все по алгоритму:
По поводу алгоритма, как я писал:
"Как видите, значения 'x' меняются следующим образом:
В зависимости от значения 'y' ,'x' меняется с шагом 300 поочередно ,то в порядке возрастания,то в порядке убывания."
Вот по нему и написал пример.
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Я же спрашивал у вас насчет этого. Что это не укладывается в алгоритм. Вы сказали все по алгоритму:

Вот по нему и написал пример.
Поначалу же алгоритм правильно определяет верхнее значение для убывания,как например,
{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 2700, 'y': 550}
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Поначалу же алгоритм правильно определяет верхнее значение для убывания,как например,
{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 2700, 'y': 550}
Значение 4200 не укладывается в алгоритм, я об этом уже писал выше. Мой пример работает по алгоритму. Вы можете сделать на его основе решение для конкретного частного случая (с 4200) добавив дополнительные условия только на другом списке это работать не будет (тоже уже писал об этом).
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Значение 4200 не укладывается в алгоритм, я об этом уже писал выше. Мой пример работает по алгоритму. Вы можете сделать на его основе решение для конкретного частного случая (с 4200) добавив дополнительные условия только на другом списке это работать не будет (тоже уже писал об этом).
Ок, буду пробовать
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Придумал такой алгоритм:

Повторю список на вход:

Код:
input=[
{'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
{'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
{'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
{'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
{'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
{'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
{'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
{'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
{'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250},
{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
{'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
{'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
{'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
{'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
{'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
{'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
{'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
{'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
{'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550},
{'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
{'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
{'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
{'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
{'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
{'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
{'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
{'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
{'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
{'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850},
{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
{'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
{'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
{'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
{'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
{'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
{'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
{'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
{'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
{'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
{'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
{'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
{'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
{'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
{'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}
]

Далее этот список разбить на несколько списков в зависимости от значений y.

Код:
input2=[

    [{'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
    {'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
    {'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
    {'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
    {'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
    {'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
    {'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
    {'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
    {'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250}],
    
    
    [{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
    {'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
    {'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
    {'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
    {'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
    {'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
    {'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
    {'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
    {'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
    {'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550}],
    
    [{'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
    {'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
    {'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
    {'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
    {'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
    {'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
    {'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
    {'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
    {'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
    {'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850}],
    
    [{'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
    {'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
    {'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
    {'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
    {'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
    {'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
    {'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
    {'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
    {'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
    {'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
    {'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
    {'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
    {'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
    {'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
    {'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}]
]



Далее проходимся в этом новом списке по этим подспискам и обнуляем значения 'x' во всех подсписках.

Далее снова проходимся по этим подспискам и по каждому подсписку увеличиваем значение 'x' на 300

Часть примера,что должно в промежутке получиться:

Код:
    [{'img_file': '727_41416_25052.png', 'num': 727, 'x': 0, 'y': 250},
    {'img_file': '734_40760_25052.png', 'num': 734, 'x': 300, 'y': 250},
    {'img_file': '741_40060_25052.png', 'num': 741, 'x': 600, 'y': 250},
    {'img_file': '748_39362_25052.png', 'num': 748, 'x': 900, 'y': 250},
    {'img_file': '755_38663_25052.png', 'num': 755, 'x': 1200, 'y': 250},
    {'img_file': '762_37996_25052.png', 'num': 762, 'x': 1500, 'y': 250},
    {'img_file': '769_37294_25052.png', 'num': 769, 'x': 1800, 'y': 250},
    {'img_file': '776_36593_25052.png', 'num': 776, 'x': 2100, 'y': 250},
    {'img_file': '783_35893_25052.png', 'num': 783, 'x': 2400, 'y': 250}],


    [{'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 0, 'y': 550},
    {'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 300, 'y': 550},
    {'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 600, 'y': 550},
    {'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 900, 'y': 550},
    {'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1200, 'y': 550},
    {'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1500, 'y': 550},
    {'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1800, 'y': 550},
    {'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2100, 'y': 550},
    {'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2400, 'y': 550},
    {'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2700, 'y': 550}],


И после этого на каждый второй элемент списка делаем reverse.

Ну и в конце формируется новый список уже с пересчитанными элементами

Как-то так. Поможете с кодом? Особенно с разбитием одного списка на несколько:)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Придумал такой алгоритм:

Мой пример делает тоже самое. Проблему со значением x=4200 это не решает, потому что это значение не укладывается в алгоритм.
 

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Мой пример делает тоже самое. Проблему со значением x=4200 это не решает, потому что это значение не укладывается в алгоритм.
Возможно.
Тем не менее, не подскажете, как разбить список на несколько списков в зависмости от y?)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Возможно.
Тем не менее, не подскажете, как разбить список на несколько списков в зависмости от y?)
Вот так можно:
Python:
input_list = [
    {'img_file': '727_41416_25052.png', 'num': 727, 'x': 2070, 'y': 250},
    {'img_file': '734_40760_25052.png', 'num': 734, 'x': 2038, 'y': 250},
    {'img_file': '741_40060_25052.png', 'num': 741, 'x': 2003, 'y': 250},
    {'img_file': '748_39362_25052.png', 'num': 748, 'x': 1968, 'y': 250},
    {'img_file': '755_38663_25052.png', 'num': 755, 'x': 1933, 'y': 250},
    {'img_file': '762_37996_25052.png', 'num': 762, 'x': 1899, 'y': 250},
    {'img_file': '769_37294_25052.png', 'num': 769, 'x': 1864, 'y': 250},
    {'img_file': '776_36593_25052.png', 'num': 776, 'x': 1829, 'y': 250},
    {'img_file': '783_35893_25052.png', 'num': 783, 'x': 1794, 'y': 250},
    {'img_file': '1049_35480_25730.png', 'num': 1049, 'x': 1774, 'y': 550},
    {'img_file': '1056_36136_25730.png', 'num': 1056, 'x': 1806, 'y': 550},
    {'img_file': '1063_36835_25730.png', 'num': 1063, 'x': 1841, 'y': 550},
    {'img_file': '1070_37533_25730.png', 'num': 1070, 'x': 1876, 'y': 550},
    {'img_file': '1077_38232_25730.png', 'num': 1077, 'x': 1911, 'y': 550},
    {'img_file': '1084_38943_25730.png', 'num': 1084, 'x': 1947, 'y': 550},
    {'img_file': '1091_39605_25730.png', 'num': 1091, 'x': 1980, 'y': 550},
    {'img_file': '1098_40304_25730.png', 'num': 1098, 'x': 2015, 'y': 550},
    {'img_file': '1105_40962_25730.png', 'num': 1105, 'x': 2048, 'y': 550},
    {'img_file': '1112_41662_25730.png', 'num': 1112, 'x': 2083, 'y': 550},
    {'img_file': '1190_41502_26408.png', 'num': 1190, 'x': 2075, 'y': 850},
    {'img_file': '1197_40802_26408.png', 'num': 1197, 'x': 2040, 'y': 850},
    {'img_file': '1204_40104_26408.png', 'num': 1204, 'x': 2005, 'y': 850},
    {'img_file': '1211_39402_26408.png', 'num': 1211, 'x': 1970, 'y': 850},
    {'img_file': '1218_38692_26408.png', 'num': 1218, 'x': 1934, 'y': 850},
    {'img_file': '1225_38027_26408.png', 'num': 1225, 'x': 1901, 'y': 850},
    {'img_file': '1232_37325_26408.png', 'num': 1232, 'x': 1866, 'y': 850},
    {'img_file': '1239_36624_26408.png', 'num': 1239, 'x': 1831, 'y': 850},
    {'img_file': '1246_35955_26408.png', 'num': 1246, 'x': 1797, 'y': 850},
    {'img_file': '1253_35253_26408.png', 'num': 1253, 'x': 1762, 'y': 850},
    {'img_file': '1449_29170_27086.png', 'num': 1449, 'x': 1458, 'y': 1150},
    {'img_file': '1456_29869_27086.png', 'num': 1456, 'x': 1493, 'y': 1150},
    {'img_file': '1463_30530_27086.png', 'num': 1463, 'x': 1526, 'y': 1150},
    {'img_file': '1470_31231_27086.png', 'num': 1470, 'x': 1561, 'y': 1150},
    {'img_file': '1476_31888_27086.png', 'num': 1476, 'x': 1594, 'y': 1150},
    {'img_file': '1511_35362_27086.png', 'num': 1511, 'x': 1768, 'y': 1150},
    {'img_file': '1518_36029_27086.png', 'num': 1518, 'x': 1801, 'y': 1150},
    {'img_file': '1525_36731_27086.png', 'num': 1525, 'x': 1836, 'y': 1150},
    {'img_file': '1532_37431_27086.png', 'num': 1532, 'x': 1871, 'y': 1150},
    {'img_file': '1539_38133_27086.png', 'num': 1539, 'x': 1906, 'y': 1150},
    {'img_file': '1546_38831_27086.png', 'num': 1546, 'x': 1941, 'y': 1150},
    {'img_file': '1552_39500_27086.png', 'num': 1552, 'x': 1975, 'y': 1150},
    {'img_file': '1559_40157_27086.png', 'num': 1559, 'x': 2007, 'y': 1150},
    {'img_file': '1566_40858_27086.png', 'num': 1566, 'x': 2042, 'y': 1150},
    {'img_file': '1573_41558_27086.png', 'num': 1573, 'x': 2077, 'y': 1150}
]


mylists = [[], [], [], []]
x = 0
y = 0
for i, item in enumerate(input_list):

    if i == 0:
        y = item['y']
        x = 0

    elif y != item['y']:
        x += 1
        y = item['y']

    mylists[x].append(item)


print(mylists[0])
print(mylists[1])
print(mylists[2])
print(mylists[3])
 
  • Мне нравится
Реакции: OmgZomg

OmgZomg

Новичок
Пользователь
Апр 22, 2020
30
2
8
Всё, сделал,что хотел.
Если нужно решение, могу выложить
 

Форум IT Специалистов