相关文章推荐
想发财的大脸猫  ·  Application ...·  8 月前    · 
爱吹牛的刺猬  ·  Qt数据库 - 知乎·  11 月前    · 
慷慨的抽屉  ·  swift ...·  1 年前    · 

在日常开发中,有些API接口会限制请求的元素个数,这时就需要把一个大列表分割为固定的小列表,再进行相关处理,本文搜集了几个简单的方法,分享出来供大家参考学习,下面来看看详细的介绍:

#1.分割大列表为三个元素的小列表,不够三个元素的亦当成一个列表输出

In [17]: lst

Out[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [18]: for i in range(0,len(lst),3):

...: print lst[i:i+3]

[0, 1, 2]

[3, 4, 5]

[6, 7, 8]

#2.稍微改进下,用了个列表推导,结果都放到一个列表了

In [35]: lst

Out[35]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [36]: b = [lst[i:i+3] for i in range(0,len(lst),3)]

In [37]: b

Out[37]: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]

In [38]:

#3.不太喜欢的lambda,猛一看不懂,再细看逻辑还是上面的逻辑

In [10]: f = lambda a:map(lambda b:a[b:b+3],range(0,len(a),3))

In [11]: lst

Out[11]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [12]: f(lst)

Out[12]: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

前言在日常开发中,有些API接口会限制请求的元素个数,这时就需要把一个大列表分割为固定的小列表,再进行相关处理,本文搜集了几个简单的方法,分享出来供大家参考学习,下面来看看详细的介绍:方法示例#1.分割大列表为三个元素的小列表,不够三个元素的亦当成一个列表输出In [17]: lstOut[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]In [18]: for i in r...
names=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] n=3 #将 列表 每3个组成一个小 列表 , for i in range(0, len(names), n): name=names[i:i + n] print(name) 上面的例子是正好是 分割 间隔的整数倍, 分割 完毕 但如果不是 分割 间隔的整数倍时,上面的代码能否奏效呢? names=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] n=3 #将 列表 每3个
对于字符串 分割 python 中自带函数:split(),但对于 分割 数字 列表 ,目前我尚未找到已存在的有效 方法 ,比如以若干个0 分割 的数字 列表 : number_ list = [3.2, 2.1, 3, 0, 0, 1, 2.8, 9.6, 4.7, 0, 6.1, 0, 0, 0, 7.5, 3.6, 0.0, 5, 3.3] 我想要将number_ list 分割 成[[3.2, 2.1, 3], [1,...
Python 中,使用多线程可以加速一些计算密集型的任务,例如对于一个需要遍历大量数据的for循环,可以将其 拆分 成多个线程并行处理,从而提高程序的执行效率。 下面是一个使用 Python 多线程加速for循环的 示例 代码: ``` python import threading def process_data(data): # 处理数据的函数 def process_data_thread(data_ list ): threads = [] # 存储线程 列表 for data in data_ list : thread = threading.Thread(target=process_data, args=(data,)) thread.start() threads.append(thread) # 等待所有线程执行完毕 for thread in threads: thread.join() if __name__ == '__main__': data_ list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 数据 列表 process_data_thread(data_ list ) 在上面的代码中,我们定义了一个`process_data()`函数来处理数据,然后定义了一个`process_data_thread()`函数来创建多个线程并行处理数据。`process_data_thread()`函数接收一个数据 列表 作为参数,并将其 拆分 成多个线程来处理。 在循环过程中,我们使用`threading.Thread()`函数创建一个新线程,并将`process_data()`函数作为目标函数来执行。我们使用`thread.start()` 方法 来启动线程,并将线程对象添加到线程 列表 中。最后,我们使用`thread.join()` 方法 来等待所有线程执行完毕。 需要注意的是,在多线程处理数据时,需要确保线程之间的数据不会相互干扰。可以使用线程锁或者队列来实现线程间的安全数据传递。