首页 > 解决方案 > 如何拆分,然后在 0 和第 N 个值之间附加 Array,然后在下一组中重复相同的步骤?

问题描述

我正在尝试对我的数据进行排序,但它以一个大数组的形式返回。我想将数组从 0 索引拆分为第 7 个索引,将其放入自己的数组中,然后对下一个 7 执行相同操作,然后对下一个 7 执行相同操作,直到它遍历整个数组。以下是我尝试过的代码,但它不起作用。

restaurant_list = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
                   '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
                   '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
                   '', '',]

def parse_restaurant_data(data):
    final_list = []
    for i in range(len(data[0:])):
        each_restaurant = data[0:7][i]
        final_list.append(each_restaurant)
    print(final_list)

parse_restaurant_data(restaurant_list)

标签: pythonarrays

解决方案


而不是each_restaurant = data[0:7][i],您应该是动态的并根据情况附加列表:

final_list = []
# demo list
restaurant_list = [
    'sknskn', 'snsnsn', 'kskn', 'ksnn', 'zazwi',
    'sknskn', 'snsnsn', 'kskn', 'ksnn', 'zazwi',
    'sknskn', 'snsnsn', 'kskn', 'ksnn', 'zazwi',
    'sknskn', 'snsnsn', 'kskn', 'ksnn', 'zazwi',
    'sknskn', 'snsnsn', 'kskn', 'ksnn', 'zazwi',
    'sknskn', 'snsnsn', 'kskn', 'ksnn', 'zazwi'
]

for i in range(0, len(restaurant_list), 7):
    final_list.append(restaurant_list[i:i+7])

print(final_list)

推荐阅读