zoukankan      html  css  js  c++  java
  • 实例007:copy

    100个不同类型的python语言趣味编程题

    实例007:copy
    题目 将一个列表的数据复制到另一个列表中。

    程序分析 使用列表[:],拿不准可以调用copy模块。

    
    import copy
    a = [1,2,3,4,['a','b']]
    
    b = a					# 赋值
    c = a[:]				# 浅拷贝
    d = copy.copy(a)		# 浅拷贝
    e = copy.deepcopy(a)	# 深拷贝
    
    a.append(5)
    a[4].append('c')
    
    print(a is b)   #True
    print(a is d)   #False
    print(a is e)   #False
    print(a == b)   #True
    print(a == c)   #False
    print(a) #[1, 2, 3, 4, ['a', 'b', 'c'], 5]
    print(b) #[1, 2, 3, 4, ['a', 'b', 'c'], 5]
    print(c) #[1,2,3,4,['a','b','c']]
    print(d) #[1,2,3,4,['a','b','c']]
    print(e) #[1, 2, 3, 4, ['a', 'b']]
    
    #is  ==  与深浅copy 的具体讲解请看python基础学习day6
    
    
    #解本问题有多种方法,此方法并不是标准答案,读者可以自己尝试各种方法。
    

    实列补充题:

    '''从cars中找到local中每个省份的车牌号有几个,打印出类似于{'山东': 2, '北京': 1, '黑龙江': 2, '上海': 1}这样的字典'''
    '''方法一'''
    dic = {}
    cars = ['鲁A32444','鲁B22444','京B8989M','黑C49678','泸B25041','黑C49671']
    locals = {'泸':'上海','黑':'黑龙江','鲁':'山东','鄂':'湖北','湘':'湖南','京':'北京'}
    for car in cars:
        for key,value in locals.items():
            if car.startswith(key):
                try:
                    dic[value] += 1
                except:
                    dic[value] = 1
                continue
    print(dic)
    '''方法二'''
    for car in cars:
        if locals[car[0]] not in dic:
            dic[locals[car[0]]] = 1
        else:
            dic[locals[car[0]]] += 1
    print(dic)
    
    '''方法三'''
    for car in cars:
        dic[locals[car[0]]] = dic.get(locals[car[0]],0) + 1
    print(dic)
    #详细的dict操作方法请看python基础学习day5
    

    如果你喜欢我的文章,请滑到下方点个推荐再走.

    以给我动力哦;转载请注名出处。然后..请多来做客鸭。

  • 相关阅读:
    最短路径问题/Spfa
    cddiv/数组维护
    cfdiv2/c/找规律
    Codeforces Round #343 (Div. 2)【A,B水题】
    POJ 2135_Farm Tour
    POJ 3469_Dual Core CPU
    POJ 3469_Dual Core CPU
    POJ 3281_Dining
    POJ 3281_Dining
    POJ 3041_Asteroids
  • 原文地址:https://www.cnblogs.com/wby-110/p/12526796.html
Copyright © 2011-2022 走看看