Python 列表操作神器:gh_mirrors/30s/30-seconds-of-python 技巧
Python 列表操作神器:gh_mirrors/30s/30-seconds-of-python 技巧
【免费下载链接】30-seconds-of-python 项目地址: https://gitcode.com/gh_mirrors/30s/30-seconds-of-python
你还在为处理 Python 列表写冗长代码吗?还在为找不到高效列表操作方法而烦恼吗?本文将带你解锁 gh_mirrors/30s/30-seconds-of-python 项目中的实用列表操作技巧,让你 30 秒掌握一个,轻松提升代码效率。读完你将学会列表分块、扁平化、去重、随机打乱等常用操作的简洁实现方法。
列表分块:轻松处理大量数据
当你需要将一个长列表按固定大小拆分成多个小列表时,chunk.md 中的方法能帮你快速实现。该方法使用 list() 和 range() 创建指定大小的列表,再通过 map() 填充原列表的切片,最后返回创建好的分块列表。
from math import ceil
def chunk(lst, size):
return list(
map(lambda x: lst[x * size:x * size + size],
list(range(ceil(len(lst) / size)))))
比如 chunk([1, 2, 3, 4, 5], 2) 会得到 [[1, 2], [3, 4], [5]],轻松将列表按指定大小分块,方便后续批量处理数据。
列表扁平化:一键搞定嵌套结构
处理嵌套列表时,flatten.md 提供了简单高效的扁平化方法。它利用列表推导式按顺序提取子列表中的每个值,将多层嵌套的列表转换为单层列表。
def flatten(lst):
return [x for y in lst for x in y]
像 flatten([[1, 2, 3, 4], [5, 6, 7, 8]]) 就能得到 [1, 2, 3, 4, 5, 6, 7, 8],让嵌套列表处理变得so easy。
列表去重:保留独特元素
想要快速获取列表中的唯一元素,unique-elements.md 中的技巧很实用。通过将列表转换为集合丢弃重复值,再转换回列表即可。
def unique_elements(li):
return list(set(li))
执行 unique_elements([1, 2, 2, 3, 4, 3]) 会返回 [1, 2, 3, 4],轻松去除列表中的重复元素。
列表随机打乱:实现随机排序
需要随机打乱列表元素顺序时,shuffle.md 中的方法采用 Fisher-Yates 算法,能返回一个新的打乱顺序的列表,且不改变原列表。
from copy import deepcopy
from random import randint
def shuffle(lst):
temp_lst = deepcopy(lst)
m = len(temp_lst)
while (m):
m -= 1
i = randint(0, m)
temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
return temp_lst
例如 shuffle([1, 2, 3]) 可能得到 [2, 3, 1],而原列表 [1, 2, 3] 保持不变,满足你对列表随机排序的需求。
总结与展望
通过 gh_mirrors/30s/30-seconds-of-python 项目中的这些列表操作技巧,你可以用更简洁的代码完成复杂的列表处理任务。项目中还有更多实用的代码片段等着你去探索,比如 all-unique.md 可判断列表元素是否全唯一,average.md 能计算列表平均值等。赶紧点赞收藏,关注项目获取更多技巧,下期将为你介绍字典操作的实用方法!
【免费下载链接】30-seconds-of-python 项目地址: https://gitcode.com/gh_mirrors/30s/30-seconds-of-python
更多推荐


所有评论(0)