我还能学之python元组、字典、列表、set()

2020.12.18周末细看再补充(-。-)
说到做到

9.1 元组创建
tup1 = (‘Google’, ‘atguigu’, 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = “a”, “b”, “c”, “d”; # 不需要括号也可以
9.2 元组值获取
tup1[1]
tup1[1:5]
9.3 元组更新
元组不允许更新
9.4 删除元组元素
del tup[0]

9.5 元组运算符
表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
(‘Hi!’,) * 4 (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print (x,) 1 2 3 迭代(生成器)
9.6元组内置函数
方法 描述 实例
len(tuple) 计算元组元素个数 len(tuple1)
max(tuple) 返回元组中元素最大值 max(tuple2)
min(tuple) 返回元组中元素最小值 min(tuple2)
tuple(seq) 将列表转换为元组 list1= [‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’]
tuple1=tuple(list1)
tuple1 = (‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’)
10. 字典
在字典中,键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
10.1 字典创建
dict = {‘Alice’: ‘2341’, ‘Beth’: ‘9102’, ‘Cecil’: ‘3258’}
dict = {x:x+1 for x in range(10)}
10.2 字典值获取
dict[‘Alice’]
10.3 更新字典
dict[‘Alice’] = 10
10.4 删除字典元素
del dict[‘Alice’]
del dict
10.5 字典内置函数&方法
函数 描述 实例
len(dict) 计算字典元素个数,即键的总数。 dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}
len(dict)
str(dict) 输出字典,以可打印的字符串表示。 dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}
str(dict)
“{‘Name’: ‘Runoob’, ‘Class’: ‘First’, ‘Age’: 7}”
type(variable) 返回输入的变量类型 dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}
type(dict)
<class ‘dict’>

	radiansdict.clear()						删除字典内所有元素
	radiansdict.copy()						返回一个字典的浅复制
	radiansdict.fromkeys()					创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
	radiansdict.get(key, default=None)		返回指定键的值,如果值不在字典中返回default值
	key in dict 							如果键在字典dict里返回true,否则返回false
	radiansdict.items()						以列表返回可遍历的(键, 值) 元组数组
	radiansdict.keys()						返回一个迭代器,可以使用 list() 来转换为列表
	radiansdict.setdefault(key, default=None)	和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
	radiansdict.update(dict2)				把字典dict2的键/值对更新到dict里
	radiansdict.values()					返回一个迭代器,可以使用 list() 来转换为列表
	pop(key[,default])			删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
	popitem()								随机返回并删除字典中的一对键和值(一般删除末尾对)。

扩展:
	1. 浅拷贝:
	只拷贝引用地址,未拷贝内容:
		a = [1,2,3,4,5] 
		b = a
	2. 深拷贝:
	拷贝引用地址和内容:
		a = [1,2,3,4,5] 
		import copy 
		b = copy.deepcopy(a) 
	可以递归拷贝;一拷到底
	注意:
	1、对于不可变类型 Number String Tuple,浅复制仅仅是地址指向,不会开辟新空间。
	2、对于可变类型 List、Dictionary、Set,浅复制会开辟新的空间地址(仅仅是最顶层开辟了新的空间,里层的元素地址还是一样的),进行浅拷贝
	3、浅拷贝后,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象的;改变原始对象中为不可变类型的元素的值,只有原始类型受影响。
  1. Set集合
    集合不支持切片操作。
    11.1 Set集合创建
    s = {‘name’,‘aa’,‘bb’}
    s = set(序列) # dict序列,值添加key
    s = {x for x in range(10) if x not in range(5,10)}
    11.2 Set集合添加元素
    s.add(x) # 添加单个元素
    s.update(x) # 添加序列元素
    11.3 移除元素
    s.remove(x) # 移除单个元素
    s.discard(x) # 移除集合(不存在不报错)
    s.pop() # 随机删除集合中的一个元素
    11.4 集合操作方法
    方法 描述
    len(s) 查看集合的长度
    s.clear() 清空集合
    x in s 判断元素是否在集合中

    add() 为集合添加元素
    clear() 移除集合中的所有元素
    copy() 拷贝一个集合
    difference() 返回多个集合的差集
    difference_update() 移除集合中的元素,该元素在指定的集合也存在。
    discard() 删除集合中指定的元素
    intersection() 返回集合的交集
    intersection_update() 删除集合中的元素,该元素在指定的集合中不存在。
    isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
    issubset() 判断指定集合是否为该方法参数集合的子集。
    issuperset() 判断该方法的参数集合是否为指定集合的子集
    pop() 随机移除元素
    remove() 移除指定元素
    symmetric_difference() 返回两个集合中不重复的元素集合。
    symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
    union() 返回两个集合的并集
    update() 给集合添加元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值