美文网首页
Python遍历数组,修改

Python遍历数组,修改

作者: 枫雪孤城 | 来源:发表于2018-06-21 16:02 被阅读28次

    Python遍历数组,修改

    
    arr = ['a', 'b', 'c']   #想实现['<a>', '<b>', '<c>']
    
    for i in arr:            #错误方法
    
        i = '<' + i + '>'
       print(i)              # i得到了想要的结果
    print(arr)              #arr没有发生改变。说明i是系统新创建的变量,并且copy了arr中元素的值,但是指针
                                #并没有指向数组中的元素
    
    for i in range(0, len(arr)):        #正确方法
    
        arr[i] = '<' + arr[i] + '>'
    
    

    当然,也可以使用map()方法:

    def addBrackets(x) :
        return '<' + x + '>'
    newArr = map(addBrackets, arr)
    print(list(newArr))
    

    值得注意的是在Python3中map()方法返回的是iterator(迭代器)而不是list,所以需要用list()方法才能显示出来。返回iterator是因为map()函数处理的对象本身就可能是一个iterator,在Python2中,map()方法返回的是list,如果list太大就可能导致内存不足,而返回iterator就不存在这个问题,因为Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算。reduce(), filter() 同理。

    相关文章

      网友评论

          本文标题:Python遍历数组,修改

          本文链接:https://www.haomeiwen.com/subject/dpfcyftx.html