解包成多个固定长度的列表

问题描述 投票:0回答:1

我有一个需要处理的数据列表(不同类型)。它有固定的长度,我知道哪个索引保存什么数据,所以目前我做了类似的事情

for x in data[:13]:
  do_stuff(x)
for x in data[13:21]:
  do_other_stuff(x)
...

我知道我可以像这样手动拆分数据

list1 = data[:13]
list2 = data[13:21]
...

但我想知道是否有一种方法可以在一行中完成,类似于正常的列表解包,也许像

*list1[13], *list2[8], *rest = data
python iterable-unpacking
1个回答
-1
投票

是的,您可以通过切成单内衬来做到这一点

list1, list2, ••• = data[:13], data[13:21], ••• #[1]

list
被分割成多个
list
并存储到各个变量中。


[1] 索引模式紧密遵循 OP 的索引模式。

© www.soinside.com 2019 - 2024. All rights reserved.