我在python中有一个列表。假设列表的名称为record
。
我知道record[0]
给了我第一张唱片,
我知道record[3:5]
给了我第三和第四条记录。
如果我需要在同一列表中的第一个record[0]
和record[12:15]
和record[35:39]
?
谢谢!
更新#1:重新措词。
我有120个元素的列表。此列表表示一个非规范化表。
我需要将列表分解成多个较小的列表,以便可以规范化信息。
上面的问题是其中一个较小列表的逻辑,因此我可以将它们注入数据框,以便可以将记录添加到表(df.to_sql
)中。
谢谢。
答案 0 :(得分:1)
如果要提取的子范围很长,或者想要一个漂亮的语法,则可以定义一个函数来从数组中获取多个子范围:
from itertools import chain
def extract(array,ranges):
return list(chain( * (array[s:e] for s,e in ranges.items()) ))
array = list(range(100,200))
subArray = extract(array,{ 0:1, 12:15, 35:39 })
print(subArray) # [100, 112, 113, 114, 135, 136, 137, 138]
答案 1 :(得分:0)
我不明白你在问什么。
如果您需要record[0]
,record[12:15]
和record[35:39]
,那么就可以了。
去拿是什么阻止了你?
您需要将那些元素组合到自己的较小列表中吗?
答案 2 :(得分:-1)
由于您没有提到您,我不确定您的确切问题是什么,但是如果您试图将相似的项目组合在一起,但还需要一个列表,为什么不使用字符串作为键并将值作为列表的字典。还有其他方法可以使用functools或iter utils
示例
ThreadPoolExecutor