Python 从列表中选择特定元素

39 投票
8 回答
136813 浏览
提问于 2025-04-15 18:27

有没有一种“Python风格”的方法,可以从列表中只获取某些特定的值,就像下面这个Perl代码一样:

my ($one,$four,$ten) = line.split(/,/)[1,4,10]

8 个回答

9

这段代码的意思是……

首先,它定义了一些变量,这些变量可以用来存储信息。接着,它可能会进行一些操作,比如计算或者处理数据。最后,代码会输出结果,告诉我们计算的结果是什么。

如果你对代码的某一部分不太明白,可以把它看作是一个小工具,每个工具都有自己的功能,组合在一起就能完成更复杂的任务。

总之,这段代码的目的是为了让计算机完成特定的工作,帮助我们解决问题。

lst = line.split(',')
one, four, ten = lst[1], lst[4], lst[10]
43

使用列表推导式

line = '0,1,2,3,4,5,6,7,8,9,10'
lst = line.split(',')
one, four, ten = [lst[i] for i in [1,4,10]]
26

我觉得你在找的是 operator.itemgetter

import operator
line=','.join(map(str,range(11)))
print(line)
# 0,1,2,3,4,5,6,7,8,9,10
alist=line.split(',')
print(alist)
# ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
one,four,ten=operator.itemgetter(1,4,10)(alist)
print(one,four,ten)
# ('1', '4', '10')

撰写回答