python学习笔记十

copy

copy(浅拷贝)

copy仅拷贝对象本身,而不对中的子对象进行拷贝,故对子对象进行修改也会随着修改。
dict1 = {‘user’:‘runoob’,‘num’:[1,2,3]}
dict2 = dict1
dict3 = dict1.copy()
dict1[‘user’]=‘root’
dict1[‘num’].remove(1)
print(dict1)
print(dict2)
print(dict3)
实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
输出结果
{‘user’: ‘root’, ‘num’: [2, 3]}
{‘user’: ‘root’, ‘num’: [2, 3]}
{‘user’: ‘runoob’, ‘num’: [2, 3]}

deepcopy(深拷贝)

deepcopy是真正意义上的复制,即从新开辟一片空间。我们经常说的复制实际上就是deepcopy.
import copy
list = {‘user’:‘runoob’,‘num’:[1,2,3]}
list_copy = copy.deepcopy(list)
list[3][0] = ‘taiwan’
print(list)
print(list_copy)
结果显示:
[user’:‘runoob’,‘num’:[‘taiwan’,2,3]]
[user’:‘runoob’,‘num’:[1,2,3]]
这样复制就不会改变子列表的值了,是因为deepcopy将子列表也复制了一份

字典遍历

(1)遍历key值

复制代码
a={‘a’: ‘1’, ‘b’: ‘2’, ‘c’: ‘3’}
for key in a:
print(key+’:’+a[key])
a:1
b:2
c:3

(2)遍历value值

for value in a.values():
print(value)
1
2
3

(3)遍历字典项

for kv in a.items():
print(kv)
(‘a’, ‘1’)
(‘b’, ‘2’)
(‘c’, ‘3’)

(4)遍历字典健值

for key,value in a.items():
print(key+’:’+value)
a:1
b:2
c:3

集合

集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
set(value)
实例
basket = {‘apple’, ‘orange’, ‘apple’, ‘pear’, ‘orange’, ‘banana’}
print(basket) # 这里演示的是去重功能
{‘orange’, ‘banana’, ‘pear’, ‘apple’}
‘orange’ in basket # 快速判断元素是否在集合内
True
‘crabgrass’ in basket
False

两个集合间的运算.

a = set(‘abracadabra’)
b = set(‘alacazam’)
a
{‘a’, ‘r’, ‘b’, ‘c’, ‘d’}
a - b # 集合a中包含而集合b中不包含的元素
{‘r’, ‘d’, ‘b’}
a | b # 集合a或b中包含的所有元素
{‘a’, ‘c’, ‘r’, ‘d’, ‘b’, ‘m’, ‘z’, ‘l’}
a & b # 集合a和b中都包含了的元素
{‘a’, ‘c’}
a ^ b # 不同时包含于a和b的元素
{‘r’, ‘d’, ‘b’, ‘m’, ‘z’, ‘l’}

集合的基本操作

1、添加元素

语法格式如下:
s.add( x )
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
s.update( x )
x 可以有多个,用逗号分开。

2、移除元素

语法格式如下:
s.remove( x )
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
s.discard( x )
我们也可以设置随机删除集合中的一个元素,语法格式如下:
s.pop()

3、计算集合元素个数

语法格式如下:
len(s)
计算集合 s 元素个数。

4、清空集合

语法格式如下:
s.clear()
清空集合 s。

5、判断元素是否在集合中存在

语法格式如下:
x in s
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

函数

数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
&函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
&任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
&函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
&函数内容以冒号 : 起始,并且缩进。
&return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。
语法
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表):
函数体

参数
以下是调用函数时可使用的正式参数类型:
必需参数
关键字参数
默认参数
不定长参数
必需参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值