列表(list)内置方法补充、字典(dict)内置方法、元组(tuple)内置方法、集合(set)内置方法
一、列表(list)内置方法补充
# reverse()颠倒列表内元素顺序
# sort()给列表内所有元素排序,reverse用来指定是否跌倒排序,默认为False
# 列表比较大小
# l1 = [666,777]
# l2 = [111, 222, 333, 444 ,555, 666]
# print(l1 > l2) # True 列表的比较是比较索引对应位置的元素值,只要有一个比较出来,都不在往下比较
二、字典(dict)内置方法
# 1.定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key则必须是不可变类型,详见第八小节,通常key应该是str类型,因为str类型会对value有描述性的功能
info={'name':'tony','age':18,'sex':'male'} #本质info=dict({....})
# 也可以这么定义字典
info=dict(name='tony',age=18,sex='male') # info={'age': 18, 'sex': 'male', 'name': 'tony'}
# 2.类型转换
# 转换1:
>>> info=dict([['name','tony'],('age',18)])
>>> info
{'age': 18, 'name': 'tony'}
# 转换2:fromkeys会从元组中取出每个值当做key,然后与None组成key:value放到字典中
>>> {}.fromkeys(('name','age','sex'),None)
{'age': None, 'sex': None, 'name': None}
# 3.按k取值(不推荐使用)
user_dict = {
'username': 'jason',
'password': 123,
'hobby': ['read', 'music', 'run']
}
print(user_dict['username']) # jason
print(user_dict['phone']) # k不存在会直接报错
# 4..按内置方法get取值(推荐使用)
print(user_dict.get('username')) # jason
print(user_dict.get('age')) # None
# 5.修改数据值
print(id(user_dict))
user_dict['username'] = 'tony' # 键存在则修改对应的值
print(id(user_dict))
print(user_dict)
# 6.新增键值对
user_dict['age'] = 18 # 键不存在则新增键值对
print(user_dict)
# 7.删除数据
del user_dict['username']
print(user_dict)
res = user_dict.pop('password')
print(user_dict)
print(res) # 123
# 8.统计字典中键值对的个数
print(len(user_dict))
# 9.字典三剑客
print(user_dict.keys) # 一次性获取字典使用的键
dict_keys(['username', 'password', 'hobby'])
print(user_dict.values()) # 一次性获取字典所有的值
dict_values(['jason', 123, ['read', 'music', 'run']])
print(user_dict.items()) # 一次性获取字典的键值对数据
dict_items([('username', 'jason'), ('hobby', ['read', 'music', 'run'])])
for i in user_dict.items():
k,v = i
print(k,v)
# 补充说明
print(dict.fromkeys(['name', 'pwd', 'hobby'], 123)) # 快速生成值相同的字典
res = (dict.fromkeys(['name', 'pwd', 'hobby'], 123)) # 快速生成值相同的字典
res = user_dict.setdefault('username', 'tony')
print(user_dict, res) # 键存在则不修改 结果是键对应的值
res = user_dict.setdefault('age', 123)
print(user_dict, res)
# 存不存在则新增键值对 结果是新增的值
user_dict.popitem() # 弹出键值对 后进先出
三、元组(tuple)内置方法
定义:t1 = (11,22,33,44)
# 数据类型转变
# 但凡能被for循环遍历的数据类型都可以传tuple()转换成元组类型
print(tuple(123))
print(tuple(123.11))
print(tuple('hello')) # ('h', 'e', 'l', 'l', 'o')
print(tuple([11,22,33,44])) # (11,22,33,44)
print(tuple((1,2,3,4))) # (1,2,3,4)
print(tuple({'username': 'kevin', 'age': 19})) # ('username', 'age')
print(tuple({111,222,33,444})) # (33, 444,222,111)
# 取值
print(tuple1[0])
print(tuplel[3])
print(tuplel[-1])
print(tuplel[-2])
print(tuplel[-3])
# 长度
len(tuplel)
'''元组笔试题'''
t = (111)
t1 = (111.11)
t2 = ('hello')
t3 = ('hello', ) # 当元组内部哪怕是一个元素,也要加逗号隔开,否则就不是元组类型
l = ['hello',] # list
'''容器类型:可以存放多个元素的数据类型都是容器类型
推荐:如果是容器类型,内部九算有一个元素,也最后都加上一个逗号隔开
'''
print(type(t)) # <class 'int'>
print(type(t1)) # <class 'float'>
print(type(t2)) # <class 'str'>
print(type(t3)) # <class 'tuple'>
print(type(l)) # <class 'tuple'>
四、集合(set)内置方法
"""
作用:去重、关系运算
"""
定义:
s = {11,22,33,44}
s = {}
# 如何定义一个空集合
s = {11,22,33,44}
print(type(s)) # set
# 定义空集合
print(type({})) # dict
s1 = set()
print(type(s1)) # set
d = {}
d1 = dict()
l = list()
l = []
print(type(d1)) # dict
print(type(l)) # list
# 类型转换
s = set([1,2,3,4])
print(s) # {1,2,3,4}
print(set((1,2,3,4))) # {1,2,3,4}
print(set({'name': 'jason', 'age': 20})) # {'name', 'age'}
print(set('hello')) # {'e', 'o', 'l', 'h'}
列表(list)内置方法补充、字典(dict)内置方法、元组(tuple)内置方法、集合(set)内置方法的更多相关文章
- 【Redis源代码剖析】 - Redis内置数据结构之字典dict
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337 今天我们来讲讲Redis中的哈希表. 哈希表在C++中相应的是ma ...
- Python内置数据结构之字典dict
1. 字典 字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下.键可能是数(整数索引).字符串或元组.字典(日常生活中的字典和Python字典)旨在让你能够轻松地找到特定的单 ...
- Python 极简教程(十一)字典 dict
字典是以大括号标识,以键值对(key:value)的形式,无序,不可重复,可变的集合类型. 字典具有非常高效的读写效率. >>> d = {} # 创建一个空字典 >>& ...
- python 魔法方法补充(__setattr__,__getattr__,__getattribute__)
python 魔法方法补充 1 getattribute (print(ob.name) -- obj.func())当访问对象的属性或者是方法的时候触发 class F(object): def _ ...
- python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary
#python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...
- Day07_39_集合中的remove()方法 与 迭代器中的remove()方法
集合中的remove()方法 与 迭代器中的remove()方法 深入remove()方法 iterator 中的remove()方法 collection 中的remove(Object)方法 注意 ...
- python学习day7 数据类型及内置方法补充
http://www.cnblogs.com/linhaifeng/articles/7133357.html#_label4 1.列表类型 用途:记录多个值(一般存放同属性的值) 定义方法 在[]内 ...
- day07-列表类型/元组类型/字典类型/集合类型内置方法
目录 列表类型内置方法 元组类型内置方法 字典类型内置方法 集合类型内置方法 列表类型内置方法 用来存多个元素,[]内用逗号隔开任意数据类型的元素 1. list()强制类型转换 print(list ...
- day09-2 字典,集合的内置方法
目录 字典的内置方法 作用 定义方式 方法 优先掌握 需要掌握 存储一个值or多个值 有序or无序 可变or不可变 集合的内置方法 作用 定义方式 方法 存储一个值or多个值 有序or无序 可变or不 ...
- python3全栈开发-内置函数补充,反射,元类,__str__,__del__,exec,type,__call__方法
一.内置函数补充 1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstan ...
随机推荐
- 如何使用 LinkedHashMap 实现 LRU 缓存?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 在上一篇文章里,我们聊到了 HashMap 的实现原理和源码分析,在源码分析的过程中,我 ...
- SpringBoot3.x中spring.factories功能被移除的解决方案
背景 笔者所在项目组在搭建一个全新项目的时候选用了SpringBoot3.x,项目中应用了很多SpringBoot2.x时代相关的第三方组件例如baomidou出品的mybatis-plus.dyna ...
- 3.7:基于Weka的K-means聚类的算法示例
〇.目标 1.使用Weka平台,并在该平台使用数据导入.可视化等基本操作: 2.对K-means算法的不同初始k值进行比较,对比结果得出结论. 一.打开Weka3.8并导入数据 二.导入数据 三.Si ...
- 跨机房ES同步实战
作者:谢泽华 背景 众所周知单个机房在出现不可抗拒的问题(如断电.断网等因素)时,会导致无法正常提供服务,会对业务造成潜在的损失.所以在协同办公领域,一种可以基于同城或异地多活机制的高可用设计,在保障 ...
- 04.Javascript学习笔记3
1.箭头函数 箭头函数是一种更短的函数表达式. const age = birthyear => 2022 - birthyear; console.log(age(2000)) 箭头左边的bi ...
- Qt的进程间通信,以服务器的形式,手把手教你VS上进行Qt的COM、ActivedQt Server的开发,比保姆还保姆(一)
Qt的进程间通信,以Active服务器的形式,手把手教你VS上进行Qt的COM.ActivedQt Server的开发,比保姆还保姆 写在前面,文中的ID有部分对不上,因为我中途改了一下,我建议你在实 ...
- 基于Unet+opencv实现天空对象的分割、替换和美化
传统图像处理算法进行"天空分割"存在精度问题且调参复杂,无法很好地应对云雾.阴霾等情况:本篇文章分享的"基于Unet+opencv实现天空对象的分割.替换和 ...
- 重学c#系列——元组 [三十一]
前言 元组并不是c# 7.0的东西,早之前就有,叫做tuple.7.0加了valuetuple. 来看下元组吧,主要一些注意的地方. 正文 为什么在7.0 之前,元组用的不多呢? 因为tuple 在代 ...
- ArcObjects SDK开发 022 开发框架搭建-FrameWorkUI包设计
1.CommandUIs部分 这部分主要是定义承载Command和Tool的具体UI.如下图所示. 以CommandUI结尾的这几个类都是继承了Framework.Engine里面的ICommandU ...
- [编程基础] Python对象的浅拷贝与深拷贝笔记
Python中的赋值语句不创建对象的副本,它们只将名称绑定到对象.对于不可变的对象,这通常没有什么区别.但是对于处理可变对象或可变对象的集合,您可能需要寻找一种方法来创建这些对象的"真实副本 ...