Python学习三|列表、字典、元组、集合的特点以及类的一些定义
| 此表借鉴于他人 | 定义 | 使用方法 |
| 列表 |
可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'],7-9j] |
1.list(str):将str转换成list类型,str可以使字符串也可以是元组类型 2.aList.append('test'):追加元素到列表中去 3.del aList[1]:删除列表中下标为1的元素 del aList:删除整个列表 4.cmp(list1,list2):比较两个列表的大小 5.len(list):返回列表元素个数 6.sorted(list):使用字典序对列表中元素进行排序 7.reversed(list):倒置列表中的元素位置 8.list.count(obj):返回对象obj在list中出现的次数 9.list.extend(seq):把序列seq的内容添加到list中 10.list.insert(index,obj):在索引量为index的地方插入obj对象 11.list.pop(index=-1):删除并返回指定位置的对象,默认是最后一个对象 12.list.remove(obj):从list中删除obj对象 |
| 元组 |
可以包含不同类型的对象,但是是不可变的,不可以在增减元素,用()来定义 eg:aTuple=(123,'abc',4.56,['inner','list'],7-9j) |
1.tuple(obj):将对象obj转换成tuple对象,obj可以是任意字符串或者列表 2.适用于列表的del,cmp,len,max,min方法也适用于tuple,但是由于元祖是不可变的,替换、添加、排序等不可实现 |
| 字典 |
键值对,用{}来定义 eg:aDict={'name':'cynthia','age':18} |
1.dict1=dict((['x',1],['y',2])):dict()创建字典 2.dict1={}.fromkeys(('x','y'),-1):fromkeys()创建一个默认字典,字典中元素具有相同的值 3.dict1.keys():获取字典的键值列表 4.dict1.has_key('x'):判断字典中是否有‘x'键值,返回bool型 5.dict.get(key,default):返回键值key的值,若是key不存在,返回default的值 6.dict.items():返回键值对列表值 7.dict.values():返回字典中所有值的列表 8.dict.update(dict2):将dict2的键值对列表添加到字典dict中去 9.dict.pop(key):返回键值key的value 10.setdefault():类似get方法,能够获得给定key的value,此外setdefault还能在自动重不含有给定key的情况下设定相应的key-value 11.clear():清除字典中所有的项。原地操作,无返回(或说返回值为None) 12.copy():返回具有相同key-value的新字典,为浅复制(shallow copy) |
| 集合 |
set() 可变集合 frozenset() 不可变集合 |
方法(所有的集合方法): s.issubset(t) 如果s是t的子集,返回True,否则返回False s.issuperset(t) 如果s是t的超集,返回True,否则返回False s.union(t) 返回一个新集合, 该集合是s和t的并集 s.intersection(t) 返回一个新集合, 该集合是s和t的交集 s.difference(t) 返回一个新集合, 该集合是s的成员, 但不是t的成员, 即返回s不同于t的元素 s.symmetric_defference(t) 返回所有s和t独有的(非共同拥有)元素集合 s.copy() 返回一个s的浅拷贝, 效率比工厂要好 方法(仅适用于可变集合):以下方法参数必须是可哈希的 s.update(t):用t中的元素修改s,即s现在包含s或t的成员 s.intersection_update(t):s中的成员是共同属于s和t的元素 s.difference_update(t):s中的成员是属于s但不包含在t中的元素 s.symmetric_difference_update(t):s中的成员更新为那些包含在s或t中,但不是s和t共有的元素 s.add(obj):在集合s中添加对象obj s.remove(obj):从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发keyError错误 s.discard(obj):如果obj是集合s中的元素,从集合s中删除对象obj s.pop():删除集合s中得任意一个对象,并返回它 s.clear():删除集合s中的所有元素 |
以上是python的列表、元组、字典、集合的一些区别于介绍。
类的定义:
class Worker:
def __init__(self,name,pay):#__init__是构造函数
print('Worker的构造函数')
self.name = name
self.pay = pay
def lastName(self):
return self.name.split()[-1]
def giveRaise(self,percent):
self.pay*=(1.0+percent)
print(self.pay)
def __del__(self):#__del__是析构函数
print('Worker的析构函数')
注意:1、self的存在相当于c++中的self指针,java、c#中的this,用来区别类方法和普通方法
2、构造函数与析构函数作用相反(一个是创建对象自动调用,一个是销毁对象自动调用),init与del的左右均有两个下划线
Python学习三|列表、字典、元组、集合的特点以及类的一些定义的更多相关文章
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- Python学习:列表、元组、字典、集合
转载:https://www.cnblogs.com/xc-718/p/9632942.html 列表/元组 列表和元组都是序列结构,它们本身很相似,但又有一点不同: 列表是用方括号标记,如:a=[1 ...
- Python学习笔记----列表、元组和字典的基础操作
文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...
- Python学习_03_列表、元组、字符串
列表.元组.字符串这些通过顺序访问的对象统称为序列. 序列的标准操作符 对于一般的序列对象,包括列表.元组.字符串,都具有以下的标准操作: 1. element [not] in seq判断一个元素是 ...
- Python学习3——列表和元组
一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...
- 流畅的python第三章字典和集合学习记录
什么是可散列的数据类型 如果一个对象是可散列的,那么在这个对象的生命周期中,他的散列值是不变的,而且这个对象需要实现__hash__()方法.另外可散列对象还要有__qe__()方法.这样才能跟其他键 ...
- Python学习笔记四--字典与集合
字典是Python中唯一的映射类型.所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列.字典是可变类型.字典中的数据是无序排列的. 4.1.1字典的创建及赋值 dict1={ ...
- python学习之列表和元组
配置环境:python 3.6 python编辑器:pycharm,代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- # list:是一种有序的集合,可以 ...
- Python学习笔记004_字典_集合
>>> # 字典 用大括号表示, 它是影射类型,相当于java中的Map >>> >>> dict1 = {'李宁': '一切皆有可能', '耐克 ...
随机推荐
- Mac用户抓包软件Charles 4.0 破解 以及 抓取Https链接设置
相信大家曾经都是Window的用户,作为前端哪能没有一款抓包工具,抓包工具可以非常便捷的帮助我们分析接口返回报文数据,快速定位问题. 曾经横扫window用户的Fiddler便是我们的挚爱,然而,作为 ...
- 团队作业四-WBS练习
我们团队开发的是四则运算,主要面对的用户是小学生.老师及学生家长.经过我们组成员的讨论和结合实际及自身能力,对团队成员分配任务,队长负责全局工作主要负责任务,统一进度,和适量的编码,露哥和阮磊主要负责 ...
- mosquitto集群配置
--------------------------------------------------------前言------------------------------------------ ...
- PAT 甲级 1079 Total Sales of Supply Chain
https://pintia.cn/problem-sets/994805342720868352/problems/994805388447170560 A supply chain is a ne ...
- PAT 甲级 1068 Find More Coins
https://pintia.cn/problem-sets/994805342720868352/problems/994805402305150976 Eva loves to collect c ...
- d3 选择器
一.隔了一段时间没看D3了,好多api又陌生了.武林太大,唯有自强不息. D3 选择器算是学习D3的第一步吧. 跟 学习JQ一样.先熟悉下api,才能够如鱼得水,手到勤来. 二. 选择器 1.选择器 ...
- 洛谷P1450 [HAOI2008]硬币购物(背包问题,容斥原理)
洛谷题目传送门 我实在是太弱了,第一次正儿八经写背包DP,第一次领会如此巧妙的容斥原理的应用...... 对每次询问都做一遍多重背包,显然T飞,就不考虑了 关键就在于每次询问如何利用重复的信息 我这么 ...
- 洛谷P4299 首都(BZOJ3510)(LCT,树的重心,二分查找)
Update:原来的洛谷U21715已成坑qwq 已经被某位管理员巨佬放进公共题库啦!又可以多一个AC记录啦! 洛谷题目传送门 其实也可以到这里交啦 思路分析 动态维护树的重心 题目中说到国家的首都会 ...
- Mysql(五) JDBC
一.JDBC JDBC(Java DataBase Connectivity) 是Java 数据库连接API. JDBC完成三件事: 与一个数据库连接 向数据库发送SQL语句 ...
- vue父组件调用子组件资源
通过上篇博文提到的方法我们可以触发子组件的某个事件来实现调用子组件的某些资源(例如数据和方法),但是更多的情况下我们会想不通过触发子组件的事件,而直接调用子组件的资源 这个时候我们就需要用到ref了, ...