如何从长度取决于另一个列表的列表创建新的子列表

时间:2018-12-29 17:17:51

标签: python python-3.x list nested-lists sublist

我想创建一个包含子列表的新列表,其中子列表的长度取决于另一个列表,例如我有:

declare @myList varchar(100)
set @myList = '( "Owner", "Admin", "Rule" )'
exec('SELECT * FROM product.text_data WHERE product.text_data.field_ref IN' + @myList)

,我想使用以下形式的嵌套列表:

a = [1,3,2,5,4]
b = ['a','b','c','d','e','f','g','h','i','l','m','n','o','p','q']

2 个答案:

答案 0 :(得分:2)

解决此问题的步骤:

  1. 创建一个空列表
  2. 创建一个整数"shell_cmd": "javac \"$file\"", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java", "variants": [ { "shell_cmd":"bash -c \"javac $file\" && gnome-terminal -- bash -c \"java $file_base_name ;read\"", "name": "Run" } ] ,该整数告诉您已经从数据中切出了多少东西
  3. 循环遍历“如何切割零件中的其他列表”列表中的所有元素
    1. done=0done切片+无论“如何分割其他列表”的当前元素是什么,并将其附加到空列表中
  4. 将您刚刚切成薄片的内容增加done
  5. 添加剩余的数据(如果需要)

打印出来。


Doku:


您可以在此处open letter to students with homework problems

了解为什么我们不能为您解决作业

答案 1 :(得分:0)

a = [1,3,2,5,4]
b = ['a','b','c','d','e','f','g','h','i','l','m','n','o','p','q']
out=[]
for number in a:
    out.append(b[:number])
    b=b[number:]
print(out)
#[['a'], ['b', 'c', 'd'], ['e', 'f'], ['g', 'h', 'i', 'l', 'm'], ['n', 'o', 'p', 'q']]

说明

输出是最终输出列表。循环遍历列表a中的每个元素(例如“数字”),并将列表b开头的许多元素列表追加到输出列表中。然后继续更新列表b,以便删除那些元素。