欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

实例007:copy

程序员文章站 2022-03-10 16:14:34
100个不同类型的python语言趣味编程题 实例007:copy 题目 将一个列表的数据复制到另一个列表中。 程序分析 使用列表[:],拿不准可以调用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

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

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