Python 如何利用函数修改函数外list

 我来答
大地广场舞
2018-05-30 · 北京玲珑广场舞、紫竹院广场舞等优秀舞蹈
大地广场舞
采纳数:201 获赞数:1286

向TA提问 私信TA
展开全部

"""
使用global子句。在stisfiesF函数中,声明L为一个全局变量,如此
你在该函数中修改L的值,则会体现到函数之外。这种写法违背Python
优雅的原则,不推荐使用,仅供学习.【L中的元素不能有数字,否则
报错,我也不知什么原因】
"""

def f(s):
    return 'av' in s

# 在声明L为全局变量之前定义,代码更直观
L = ['av1', 'av', 'a','b','ac','love','python',('f','av','gh'),[1,2,3]]

# 此处函数不传入参数L
def satisfiesF():
    # 声明L为全局变量
    global L
    x = []
    for i in L:
        if f(i):     
            x.append(i)
        else:
             pass
    L = x
    return len(L)

print ('新列表L的长度为%s'%satisfiesF())
print ('将原列表修改为元素含有"av"的新列表L:')
print(L)
"""
结果:新列表L的长度为3
将原列表修改为元素含有"av"的新列表L:
['av1', 'av', ('f', 'av', 'gh')]
>>> 
"""
追答
我已回答请评价
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式