考虑以下代码:
l=[21,23,25,30,33,45,56,67,70,77--------------------]
h=35
r1=[]; r2=[]
for i in range(len(l)):
if(l[i] < h):
r1.append(l[i])
else:
r2.append(l[i])
print r1
print r2
得到的结果是:
[21, 23, 25, 30, 33]
[45, 56, 67, 70, 77----------------------]
现在我需要增加 h=35 以便当它达到 46 时它的输出必须是
[21, 23, 25, 30, 33,45]
[56, 67, 70, 77----------------------]
下一步当h达到57
[21, 23, 25, 30, 33,45,56]
[67, 70, 77-------------------------]
所以作为一个整体,最终结果应该显示:
[21, 23, 25, 30, 33]
[45, 56, 67, 70, 77-----------------]
[21, 23, 25, 30, 33,45]
[56, 67, 70, 77---------------]
[21, 23, 25, 30, 33,45,56]
[67, 70, 77--------------]
[21, 23, 25, 30, 33,45,56,67]
[70, 77--------------]
[21, 23, 25, 30, 33,45,56,67,70]
[77--------------]
[21, 23, 25, 30, 33,45,56,67,70,77]
[-----------------------]
什么会在 python 中产生这样的结果而不将其作为函数参数传递?任何人都可以建议它的代码............
最佳答案
除了jimifiki的回答,代码可以简化,更pythonic。
def funct(h):
l = [21,23,25,30,33,45,56,67,70,77]
r1=[]; r2=[]
for x in l:
if x < h:
r1.append(x)
else:
r2.append(x)
print r1
print r2
for h in (35,45,55,65):
funct(h)
关于python - 更新变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18328513/