数据类型及内置方法2
Posted binyuanxiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型及内置方法2相关的知识,希望对你有一定的参考价值。
一、元组
作用:能够存储多个元素,元素与元素之间逗号隔开。元组可以是任意类型,元组不能被修改。
定义
t = (1, 2, 3, 'a', [1, 2, 3]) t = tuple((1, 2, 3)) t = tuple((1,)) # 内部只有一个元素的时候,也要加逗号。 print(type(t))
有序or无序
有序
可变or不可变
不可变
常用操作和内置方法
按索引取值(只能取不能存)
t = (1, 2, [3, 4]) print(t[0] # 1 t[-1][1] = 5 print(t) # (1, 2, [3, 5]) # 包含的可变类型能改
切片(顾头不顾尾,步长)
t = (1, 2, 3, 4) print(t[::2]) # (1, 3)
长度
t = (1, 2, 3, 4) print(len(t)) # 4
成员运算
t = (1, 2, 3) print(1 in t) # True
循环
t = (1, 2, 3) for i in t: print(i)
计数
t = (1, 1, 3) print(t.count(1)) # 2
查询索引
t = (1, 2, 3) print(t.index(2)) # 1
二、字典
作用:能存储多组键值对,key是不可变类型,value可以是任意类型
有序or无序
无序
可变or不可变
可变
定义
d = 'name': 'byx', 'age': 18 # 第一种方法 d = dict(name = 'byx', age = 18) # 第二种方法 l = [ ['name', 'byx'], ['age', 18], ['hobby', 'read'] ] d = for k, l in l: d[k] = v print(d) # 第三种方法 l = [ ['name', 'byx'], ['age', 18], ['hobby', 'read'] ] d = dict(l) print(d) # 第四种方法 d1 = 'name': 'byx', 'name': 'yxb' print(d1) # 'name': 'yxb' 字典的key如果重复,会存入最后一组重复的键值对
操作以及内置方法
按key存取值(可存可取)
d = 'name': 'byx', 'age': 18 print(d['name']) # byx d['name'] = 'yxb' print(d['name']) # yxb print(id(d)) # 1934832365856 d['gender'] = 'male' print(d, id(d)) # 'name': 'byx', 'age': 18, 'gender': 'male' 1934832365856
成员运算
d = 'name': 'byx', 'age': 18 print(i8 in d) # False 只能判断键
删除
d = 'name': 'byx', 'age': 18 del d['name'] print(d) # 'age': 18 d = 'name': 'byx', 'age': 18 res = d.pop('age') # 弹出 print(res) # 18 返回值是值,键不存在时报错 print(d) # 'name': 'byx' d = 'name': 'byx', 'age': 18 res = d.popitem() # 尾部以元组形式弹出键值对 print(res) # ('age', 18) print(d) # 'name': 'byx' d = 'name': 'byx', 'age': 18 d.clear() # 清空 print(d) #
获取所有键、值、键值对
d = 'name': 'byx', 'age': 18 print(d.keys()) # dict_keys(['name', 'age']) print(d.values()) # dict_values(['byx', 18]) print(d.items()) # dict_items([('name', 'byx'), ('age', 18)]) ;列表套元组
循环
d = 'name': 'byx', 'age': 18 for i in d: print(i,end=" ") # name age
get取值
d = 'name': 'byx', 'age': 18 print(d.get('name')) # byx print(d.get('hobby', '字典里没有hobby')) # 字典里没有hobby # get可以传第二个参数,key不存在时,返回第二个参数。不传参时返回None
dict.fromkeys()创造字典
l1 = ['name', 'password', 'age'] print(dict.fromkeys(l1, 123)) # 'name': 123, 'password': 123, 'age': 123
dict.setdefalt()增加键值对
d = 'name': 'byx', 'pwd': 123 res1 = d.setdefault('name', 'ybx') # 添加存在的键值对 print(res1) # byx 返回存在的值 print(d) # 'name': 'byx', 'pwd': 123 不做修改 res2 = d.setdefault('age', 18) # 添加不存在的键值对 print(res2) # 18 返回添加的值 print(d) # 'name': 'byx', 'pwd': 123, 'age': 18 添加成功
dict.update()字典拼接
d1 = 'name': 'byx', 'pwd': 123 d2 = 'age': 18, 'hobby': 'read' d1.update(d2) print(d1) # 'name': 'byx', 'pwd': 123, 'age': 18, 'hobby': 'read'
三、集合
作用
- 关系运算
- 去重
定义
集合的元素遵循三原则:
- 每个元素必须是不可变类型
- 没有重复元素(自动去重)
- 无序
s = 1, 2, 3, 4, 5 s = set(1, 2, 3, 4, 5) print(type(s)) x = print(type(x)) # 空字典 s1 = set() print(type(s1)) # 空集合
操作与内置方法
- 长度
s = 1, 2, 3, 4 print(len(s))
成员运算
集合运算
group1 = 'a', 'b', 'c' group2 = 'b', 'c', 'd' print(group1 & group2) # 'b', 'c' 交集 print(group1 - group2) # 'a' 差集 print(group1 ^ group2) # 'd', 'a' 对称差 print(group1 | group2) # 'd', 'a', 'b', 'c'
添加
s = 1, 2, 3, 4 print(s.add(5)) # 1, 2, 3, 4, 5
删除
s = 1, 2, 3 print((s.remove(4)) # 报错 s = 1, 2, 3 print(s.discard(4)) # None 不报错
以上是关于数据类型及内置方法2的主要内容,如果未能解决你的问题,请参考以下文章