我想生成我拥有的权重列表的不同排列,并将所有排列添加到外部列表.这段代码可以正确生成排列,但是即使我将其添加到外部列表中,也可以在最终打印时将其清空.

我认为这是通过引用调用的,因为列表是可变的,因此对函数中的列表所做的任何更改也将反映在函数范围之外.

我该如何纠正此代码,以便外部列表将包含所有排列,并且每个排列都包含在函数之外的所有排列?

weight = [100,120,140]

outer_list = []

def func(outer_list,inner_list,weight,i,max_val):

if len(inner_list) == max_val:

print inner_list

outer_list.append(inner_list)

return

inner_list.append(weight[i])

func(outer_list,inner_list,weight,i,max_val)

del inner_list[-1]

for j in range(i+1,len(weight)):

inner_list.append(weight[j])

func(outer_list,inner_list,weight,i,max_val)

del inner_list[-1]

inner_list = []

func(outer_list,inner_list,weight,0,2)

print outer_list

电流输出:

[100, 100]

[100, 120]

[100, 140]

[120, 100]

[120, 120]

[120, 140]

[140, 100]

[140, 120]

[140, 140]

[[], [], [], [], [], [], [], [], []]

python递归函数对照表_python-访问递归函数中附加到列表的值相关推荐

  1. python字符串转义序列_Python | 忽略字符串中的转义序列

    python字符串转义序列 First see, how escape sequence works? 首先看,转义序列如何工作? In the below example, we are using ...

  2. python字符串替换空格_python - 用pandas中的NaN替换空白值(空格)

    python - 用pandas中的NaN替换空白值(空格) 我想在Pandas数据帧中找到包含空格(任意数量)的所有值,并用NaN替换这些值. 有什么想法可以改进吗? 基本上我想转此: A B C ...

  3. python字符串添加元素_python向字符串中添加元素的实例方法

    Python中的字符串对象是不能更改的,也即直接修改字符串中的某一位或几位字符是实现不了的,即python中字符串对象不可更改,但字符串对象的引用可更改,可重新指向新的字符串对象. + 直接字符串外+ ...

  4. python获取url列表参数_python 获取url中的参数列表实例

    Python的urlparse有对url的解析,从而获得url中的参数列表 import urlparse urldata = "http://en.wikipedia.org/w/api. ...

  5. python热图_python – 使用matplotlib中的3D数据生成热图

    我有一个函数returnValuesAtTime,它返回三个lists-x_vals,y_vals和swe_vals.所有三个列表具有相同的长度,并且swe_vals中的每个元素对应于来自x_vals ...

  6. python内存分配_Python进阶2-元组和列表的内存分配机制

    本系列文章是一系列学习笔记,希望较为深入地分析Python3中的原理.性能,文章中绝大部分观点都是原作作者的观点(如下),本人对书中示例加以实践和总结,并结合相应的Python的C语言源码(3.6.1 ...

  7. python中递归函数写法_Python之递归函数

    递归函数 1. 递归(recursion)一个函数在内部调用了自己,这种写法就叫做递归. def func(): # 每次调用一个函数,就会开辟一块内存空间 print("djgdl&quo ...

  8. 递归函数python基例_python基础——递归函数

    python基础--递归函数 递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用 ...

  9. python字母对照表_Python中的字母范围

    >>> import string >>> string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' 如果你真的需要一 ...

最新文章

  1. 【C++】C++11新增关键字详解
  2. 索尼推出全能音乐AI工具:作曲混音编曲都OK!留给人类发挥的空间不多了
  3. 阿里巴巴集团 CTO 程立:今年天猫双 11,阿里练了什么?
  4. Docker小白到实战之开篇概述
  5. 莓良心(第二类斯特林数)
  6. decorators 参数_Python Decorators(二):Decorator参数
  7. ElasticSearch优化系列三:索引过程
  8. Python--PyQt5.11 + PyCharm安装环境搭建(11.6)
  9. 离散数学杜忠复版答案_离散数学第2版答案
  10. 服务器安装iis网站,安装IIS发布我的第一个网站图文教程
  11. 【Unity3D插件】XCharts插件分享《图表插件》
  12. python DataFrame数据分组统计groupby()函数
  13. WPS2003排版位置错误一例(转)
  14. PyCharm 实用快捷键
  15. 笔记本风扇噪音大的解决方法
  16. android parcel分析,Android中Parcel用法详解
  17. 那些你可能不知道的百度产品
  18. wxpy 建群 err_code: 1 err_msg:
  19. VS2008+DDK+ddkwizard环境的配置
  20. 持久层的EAO颗粒封装

热门文章

  1. CSS超全笔记(适合新手入门)
  2. 2018年最新整理ios APP审核被拒的常见原因
  3. [二分][贪心]JZOJ P3996 Sabotage
  4. 浏览器启动__chrome浏览器
  5. 学习Selenium 自动化从一张藏宝图开始
  6. 【错误分析】NX error status: 32
  7. 判断当前是否运行于Design Mode
  8. 无法启用插件,因为它引起了一个致命错误(fatal error)。
  9. Enterprise Library 3.0 发布
  10. 机器学习:异常检测算法Seasonal Hybrid ESD及R语言实现