实例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
如果你喜欢我的文章,请滑到下方点个推荐再走.
以给我动力哦;转载请注名出处。然后..请多来做客鸭。