python技巧——使用list comprehension生成素數(prime number)
使用list comprehension的目的是構建(construct)一個list
使用一次list comprehension,構建一個非素數
再使用一次list comprehension,獲得素數
>>> import math
>>> noprimes = [j for i in range(2, int(math.sqrt(100))) for j in range(2*i, 100, i)]
>>> primes = [x for x in range(2, 100) if x not in noprimes]
當然,也可以對list comprehension
進行巢狀,比如這樣:
>>> primes = [x for x in range(2, 11) if x not in [j for i in range(2, 11) for j in range(2*i, 100, i)]]
也即避免了noprimes
中間變數的產生,然而這樣做使得一條語句變得又長又不便於閱讀,出於可讀性的考慮,這樣的做法並不推薦。
相關文章
- python技巧——list comprehension vs mapPython
- Python中的 List Comprehension 以及 GeneratorPython
- [CareerCup] 7.7 The Number with Only Prime Factors 只有質數因子的數字
- 翻譯:《實用的Python程式設計》02_06_List_comprehensionPython程式設計
- LintCode-Kth Prime Number.
- python列表(list)的使用技巧及高階操作Python
- Python Number(數字)Python
- Javascript - 使用高階生成器進行過濾以生成素數JavaScript
- Python學習筆記——Python Number(數字)Python筆記
- Python 工匠:使用數字與字串的技巧Python字串
- Python使用技巧Python
- Python基礎:使用list & tuplePython
- Python 基礎起步 (六) List的實用技巧大全Python
- [work] python list中數字與一個數相乘Python
- Python List 列表list()方法Python
- Diff-prime Pairs(思維+素數篩)AI
- python中list的各種方法使用Python
- Python List 列表list()方法分享Python
- python listPython
- Java8 中 List 轉 Map(Collectors.toMap) 使用技巧Java
- Python 小練習 求list內中間數Python
- Prime Video for Mac Prime影片播放器IDEMac播放器
- Python - 基本資料型別_Number 數字、bool 布林、complex 複數Python資料型別
- 一個數number的n次冪 python的pow函式Python函式
- python列表(List)Python
- Python 列表(List)Python
- Python list(列表)Python
- python list 排序Python排序
- 亞馬遜Prime付費會員數量超1億亞馬遜
- Prime Palindromes( 素數迴文) C++實現C++
- 實戰小技巧19:List轉Map List的幾種姿勢
- 使用 Python Pip 的 10 個技巧Python
- Python開發技巧-使用Python生成HTML表格PythonHTML
- [Python] list vs tupplePython
- python如何拆分listPython
- python - function list generatorPythonFunction
- python--列表listPython
- 【python】list 的用法Python