Python中的范围

0 投票
5 回答
4601 浏览
提问于 2025-04-16 22:49

我想列出一个范围内的数字,并且想知道这个范围内有多少个数字。

比如说:

X = (5,6,5,1,2,3,4,5,6,7)
Y = (5, 5, 5,5 5,5 5,5 5)
range(X) # Want to know how many numbers in X.

如果你们能帮忙就太好了。

5 个回答

2

filter(function, sequence) 这个函数会返回一个新序列,这个新序列里的元素是那些在原序列中通过 function(item) 判断为真的项。

比如,你可以用 filter(range(2, 10).__contains__, x),这样会返回在 x 中,且属于 range(2, 10) 范围内的元素。

如果你想要得到不重复的元素,可以使用 set

set(filter(range(2, 10).__contains__, x))

最后,如果你想知道这些元素的数量,只需调用 len

len(filter(range(2, 10).__contains__, x))

这样就会返回在数组 x 中,属于 2 到 10 范围内的元素数量。

10

给定一个元组或列表 X:

>>> X = (5,6,5,1,2,3,4,5,6,7)
>>> X
(5, 6, 5, 1, 2, 3, 4, 5, 6, 7)

你可以用 len 函数来找出里面有多少个元素:

>>> len(X)
10

如果你想找出里面有多少个不同的元素,可以创建一个 集合,然后查看它的长度:

>>> set(X)
set([1, 2, 3, 4, 5, 6, 7])
>>> len(set(X))
7

这个数字集合的范围(数学上定义的)可以通过 maxmin 函数来找到:

>>> (min(X), max(X))
(1, 7)
>>> max(X) - min(X)
6
3

你是在寻找:

X = (5,6,5,1,2,3,4,5,6,7)
range = max(X) - min(X)

撰写回答