python标准算法实现数组全排列的方法

yipeiwu_com7年前Python基础

本文实例讲述了python标准算法实现数组全排列的方法,代码来自国外网站。分享给大家供大家参考。具体分析如下:

从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

def Mideng(li):
  if(type(li)!=list):
    return
  if(len(li)==1):
    return [li]
  result=[]
  for i in range(0,len(li[:])):
    bak=li[:]
    head=bak.pop(i) #head of the recursive-produced value
    for j in Mideng(bak):
      j.insert(0,head)
      result.append(j)
  return result
def MM(n):
  if(type(n)!=int or n<2):
    return
  return Mideng(list(range(1,n)))

调用方法:

MM(6)

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python Flask前后端Ajax交互的方法示例

Python Flask前后端Ajax交互的方法示例

之前总结过flask里的基础知识,现在来总结下flask里的前后端数据交互的知识,这里用的是Ajax 一、 post方法 1、post方法的位置:在前端HTML里,绑定在一个按钮的点击...

python和bash统计CPU利用率的方法

本文实例讲述了python和bash统计CPU利用率的方法。分享给大家供大家参考。具体如下: 开始的时候写了一个 bash 的实现; 因为最近也在学习 python ,所以就尝试着用 p...

Python datetime和unix时间戳之间相互转换的讲解

python datetime和unix时间戳之间相互转换 1、代码: import time import datetime # 1、datetime转unix时间戳...

Python contextlib模块使用示例

看这个模块要先看with as的用法,最常用的方法就是打开一个文件: 复制代码 代码如下: with open(“filename”) as f: f.read() with可以调用一...

巧用Python装饰器 免去调用父类构造函数的麻烦

先看一段代码: 复制代码 代码如下: class T1(threading.Thread): def __init__(self, a, b, c): super(T1, self)._...