挑選幸運數!

2021-10-23 03:12:22 字數 973 閱讀 4918

從列表中挑選出來出現次數和數字大小相同的數~~~

arr = [3, 5, 2, 5, 3, 5, 1, 2, 5, 8, 5, 3]

f = set(arr) # set 過濾

m = map(arr.count, f) # map 函式是把第二個引數以第乙個的引數的規則依次去執行, 生成器只能用依次就會自動銷毀

z = zip(f, m) # zip函式-->> f = [1, 2] m = [2, 3] z = [(1, 2), (2, 3)]

def func(x):

if x[0] == x[1]:

return x

f = filter(func, z)

print(f'幸運數為')

公升級版:

arr = [3, 5, 2, 5, 3, 5, 1, 2, 5, 8, 5, 3]

f = set(arr) # set 過濾

m = map(arr.count, f) # map 函式是把第二個引數以第乙個的引數的規則依次去執行, 生成器只能用依次就會自動銷毀

z = zip(f, m) # zip函式-->> f = [1, 2] m = [2, 3] z = [(1, 2), (2, 3)]

a = filter(lambda x: x[0] == x[1], z)

print('幸運數是:', [item[0] for item in a])

最終版:

arr = [3, 5, 2, 5, 3, 5, 1, 2, 5, 8, 5, 3]

print('幸運數是:', [item[0] for item in filter(lambda x: x[0] == x[1], zip(set(arr) , map(arr.count, set(arr))))])

尋找幸運數

4和7是幸運數字,由它們所組成的數也是幸運數字。例如 44,47,474,7447等等。這一系列幸運數由小到大構成了幸運數列。現在,需要設計乙個演算法找出第n個幸運數是多少。我們可以將幸運數列分組 4,7 44,47,74,77 444,447,474,477,744,747,774,777 可以看...

尋找幸運數

今天刷題時,遇到了一道題,我覺得還挺有意思的,自己實現了一下,看了下大佬們的答案,實現如下。首先先來看一下什麼是幸運數 我們一般用的數是十進位制,但是機器只識別二進位制,當乙個整數的十進位制數的每一位,加起來等於它的二進位制的每一位加起來的和。舉個例子吧,123的二進位制表示為1111011,所以二...

京東 幸運數

小明同學學習了不同的進製之後,拿起了一些數字做起了遊戲。小明同學知道,在日常生活中我們最常用的是十進位制數,而在計算機中,二進位制數也很常用。現在對於乙個數字x,小明同學定義出了兩個函式f x 和g x f x 表示把x這個數用十進位制寫出後各個數字上的數字之和。如f 123 1 2 3 6。g x...