Python如何從列表中獲取笛卡爾積
1、可以使用itertools.product在標準庫中使用以獲取笛卡爾積。
from itertools import product somelists = [ [1, 2, 3], ['a', 'b'], [4, 5] ] result = list(product(*somelists)) print(result)
2、迭代方法。
def cartesian_iterative(pools): result = [[]] for pool in pools: result = [x+[y] for x in result for y in pool] return result
3、遞迴方法。
def cartesian_recursive(pools): if len(pools) > 2: pools[0] = product(pools[0], pools[1]) del pools[1] return cartesian_recursive(pools) else: pools[0] = product(pools[0], pools[1]) del pools[1] return pools def product(x, y): return [xx + [yy] if isinstance(xx, list) else [xx] + [yy] for xx in x for yy in y]
4、Lambda方法。
def cartesian_reduct(pools): return reduce(lambda x,y: product(x,y) , pools)
以上就是Python從列表中獲取笛卡爾積的方法,希望對大家有所幫助。更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3137/viewspace-2828429/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java 笛卡爾積(迴圈)Java
- 笛卡爾積與全連線
- 二維陣列笛卡爾積js實現陣列JS
- 笛卡爾積的應用——商品 SKU 計算
- Oracle的表連線方法(四)笛卡爾積Oracle
- 笛卡爾樹
- [JavaScript] 求解任意n個集合的笛卡爾積JavaScript
- 笛卡爾積和NEST LOOP產生的影響OOP
- 笛卡爾乘積的javascript版實現和應用JavaScript
- 成績錄入SQL語句 笛卡爾積 LEFT JOINSQL
- 【TUNE_ORACLE】列出走了笛卡爾積的SQL參考OracleSQL
- SparkSQL中產生笛卡爾積的幾種典型場景以及處理策略SparkSQL
- php計算多個集合的笛卡爾積例項詳解PHP
- 基環樹和笛卡爾樹
- 理解笛卡爾積在資料庫查詢中的實際應用與最佳化資料庫
- 統計資訊不準確導致執行計劃走了笛卡爾積
- SQL 語句調優_減少或者避免笛卡爾乘積的發生SQL
- 科學的演變:從笛卡爾到生成式人工智慧人工智慧
- python中獲取如何Series值Python
- 笛卡爾座標張量簡介7
- Python3 - 獲取資料夾中的檔案列表Python
- SQL解惑-如何從字串中獲取IP地址SQL字串
- 二叉查詢樹和笛卡爾樹
- 【SQL】SQL解惑-如何從字串中獲取IP地址SQL字串
- python 從mongodb中獲取資料載入到pandas中PythonMongoDB
- 笛卡爾實驗室全面遷移至亞馬遜雲科技亞馬遜
- C++--Win32--列表編輯--獲取列表內容--獲取列表行數--修改列表內容C++Win32
- 從session中獲取資料Session
- Thymeleaf+SpringMVC,如何從模板中獲取資料SpringMVC
- Android ListView 進階——從列表中獲取值AndroidView
- 笛卡爾:語言是思想唯一確定標誌?
- SQL獲取時間列表及月份列表SQL
- Android如何獲取開機啟動項列表Android
- python小技巧:獲取列表最大值以及位置Python
- python 獲取函式的所有引數列表:locals()Python函式
- 獲取檔案列表 .net
- javascript獲取li列表中的第幾個liJavaScript
- python3中編碼如何獲取網頁?Python網頁