gpt4 book ai didi

python - 如何从间隔开的列表中提取多个字符串

转载 作者:行者123 更新时间:2023-12-05 02:25:27 27 4
gpt4 key购买 nike

我有以下列表:

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']

我希望多次提取列表 ('L38A') 中的第一个元素(位置 0)和第五个元素(位置 4)(-6.7742):

期望的输出[('L38A','-6.7742'), ('L38C','-7.7904'), ('L38D','-6.3475')...('L38E','-6.4752')]

我试过:lst[::5]

最佳答案

我们可以通过 zip 操作和列表理解来处理这个问题:

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']
it = [iter(lst)] * 8
output = [(x[0], x[4]) for x in zip(*it)]
print(output)

这打印:

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

第一个 zip 生成一个包含 8 个元组的列表,其中 8 是每个循环中值的数量。然后,理解生成一个包含第一个和第五个元素的二元组列表。

关于python - 如何从间隔开的列表中提取多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74581912/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com