You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从分段间隔的Python列表中提取多组指定位置的字符串对

解决方案

你的列表每8个元素为一组,要提取每组的第0个和第4个元素,之前用lst[::5]不对是因为每组的间隔是8,不是5。可以用以下两种方法实现:

方法一:循环遍历分组

lst = ['L38A', '38', 'L', 'A', '-6.7742', '-3.5671', '0.00226028', '0.4888', 'L38C', '38', 'L', 'C', '-7.7904', '-6.6306', '0.0', '0.4888', 'L38D', '38', 'L', 'D', '-6.3475', '-3.0068', '0.00398551', '0.4888', 'L38E', '38', 'L', 'E', '-6.4752', '-3.4645', '0.00250913', '0.4888']

result = []
# 按步长8遍历每组的起始索引
for i in range(0, len(lst), 8):
    # 取出当前组的第0个和第4个元素组成元组
    result.append( (lst[i], lst[i+4]) )

print(result)

方法二:列表推导式(更简洁)

lst = ['L38A', '38', 'L', 'A', '-6.7742', '-3.5671', '0.00226028', '0.4888', 'L38C', '38', 'L', 'C', '-7.7904', '-6.6306', '0.0', '0.4888', 'L38D', '38', 'L', 'D', '-6.3475', '-3.0068', '0.00398551', '0.4888', 'L38E', '38', 'L', 'E', '-6.4752', '-3.4645', '0.00250913', '0.4888']

result = [ (lst[i], lst[i+4]) for i in range(0, len(lst), 8) ]
print(result)

两种方法都会输出预期的结果:

[('L38A', '-6.7742'), ('L38C', '-7.7904'), ('L38D', '-6.3475'), ('L38E', '-6.4752')]

内容的提问来源于stack exchange,提问作者Chip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:35:19