Python中的范围
我想列出一个范围内的数字,并且想知道这个范围内有多少个数字。
比如说:
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
这个数字集合的范围(数学上定义的)可以通过 max 和 min 函数来找到:
>>> (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)