| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> (python学习)列表,元组,字符串,字典,集合辨析 -> 正文阅读 |
|
[Python知识库](python学习)列表,元组,字符串,字典,集合辨析 |
初学python,序列类型太多容易混淆,此篇文章自用于记忆理解。 1. 创建序列列表list:[],创建后元素可修改。 元组tuple:(),只有一个元素时,需要在元素后面加逗号。创建后元素不可直接更改。 字符串str:' '或" ",如果字符串中需出现引号,可用转义字符\。 字典dict:{元素1,元素2,...},每个元素由key:value组成。 集合set:{元素1,元素2,...},创建空集合时只能用s = set(),因为s = {}是创建空字典,注意集合中元素无序且不重复。
2.添加元素①列表添加元素 list.append(obj) :只接受一个参数; list.extend(seq)) :在列表末尾增加另一个序列;(append是把一个obj添加在列表后面,extend是把一个序列的所有元素扩展到列表后面) list.insert(index,obj):在编号index位置前插入obj; 列表之间直接用“+”号。 ②元组添加元素 由于元组有不可更改的性质,因此不能直接给元组赋值,但如果元组中有的元素是可更改的(比如tup中有列表元素),则可以更改该元素。 元组之间直接用“+”号
③字符串添加元素 字符串之间直接用“+”号连接 ④字典添加元素 dic.update(dic2):将dict2的key:value更新到字典dic中。 ⑤集合添加元素 set.add(elmnt):如果元素已存在则无操作; set.update(set2):添加set2中的元素到set1中,重复元素忽略。 3.删除元素list.remove(obj):移除列表中obj的第一个匹配项; list.pop([index=-1]):移除列表中指定某个元素,默认index=-1即最后一个元素; del list[var1:var2]:[ ]中为list的切片。 dict.pop(key[,default]):删除字典给定键值key对应的值,返回值为被删除的value,如果key不存在,则返回default值; del dict[key]:删除字典给定键key对应的值; dict.popitem():随机返回并删除字典中的一对键和值; dict.clear():删除字典内所有元素。 set.remove(item):删除集合中指定元素,若不存在则报错; set.discard(value):删除指定元素,若不存在不会报错; set.pop():随机移除一个元素。 4.序列计算①切片 切片通用写法:start : stop : step 只有序列和字符串有切片:
②常用操作符 列表:等号操作符==、连接操作符+、重复操作符*、成员关系操作符in、not in; 元组:比较操作符、逻辑操作符、连接操作符+、重复操作符*、成员关系操作符in、not in; 字符串:比较操作符; 字典、集合:无。 5.内置方法①列表list list.count(obj):统计obj在列表中出现的次数; list.index(x[,start[,end]]):从列表中找到x的第一个匹配值,返回其索引位置,start、end可以设置查找开始/结束位置; list.reverse():反向列表中元素; list.sort(key=None,reverse=False):对列表进行排序,key表示用来比较的元素,reverse = True表示降序排列,默认为False为升序排列。 ②元组tuple 元组大小和内容都不可更改,只有count和index两种方法。
③字符串 str.capitalize():将字符串的第一个字符转换为大写; str.lower():转换字符串中所有大写字符为小写; str.upper():转换字符串中所有小写字符为大写; str.swapcase():将字符串中大写转换为小写,小写转换为大写; str.count(obj,beg=0,end=len(string)):返回str中obj出现的次数,beg\end确定指定查找范围; str.endwith(suffix,beg=0,end=len(string)):检查字符串是否以suffix结束,如果是,返回True; str.startwith(substr,beg=0,end=len(string)):检查字符串是否以substr开始,如果是,返回True; str.find(obj,beg=0,end=len(string)):检测obj是否包含在字符串中,如果是,返回索引值; str.rfind(obj,beg=0,end=len(string)):与find()类似,从右往左查找; str.isnumeric():检测字符串中是否只包含数字字符,如果是,返回True; str.replace(old,new[,max]):把字符串中的old替换为new,max为最多替换次数; format格式化函数:
④字典 dict.fromkeys(seq[,value]):创建一个新字典,字典的键为seq,初始字典的值为value,默认为None; dict.keys():返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中的所有键; dict.value():返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中的所有值; dict.items():以列表返回可遍历的(键,值)元组数组;
dict.get(key,default=None):返回指定key的值,如果key不在字典中返回默认值; dict.setdefault(key,default=None):与get() 类似, 如果key不在字典中,将会添加key并将值设为默认值; key in dict / key not in dict :判断key是否在dict中; dict.copy():返回一个字典的浅复制; ⑤集合 交集:set.intersection(set1,set2,...)、set1&set2 返回两个集合的交集; ? ? ? ? ? ?set.intersection_update(set1,set2,..):交集,在原始集合上移除不重叠元素; 并集:set.union(set1,set2,...)、set1|set2 返回两个集合的并集; 差集:set1.difference(set2)、set1-set2:返回集合的差集; ? ? ? ? ? ?set.difference_update(set2):差集,在原始集合上移除元素,无返回值; 异或:set.symmetric_difference(set)、set1^set2 返回集合的异或; ? ? ? ? ? ?set.symmetric_difference_update(set2):移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定 集合中不同的元素插入到当前集合中。 包含:set.issubset(set2)、set1<=set2:判断集合1是否包含于集合2,如果是,返回True; ? ? ? ? ? ?set.issuperset(set2)、set1>=set2:判断集合2是否包含于集合1,如果是,返回True; 相交:set.isdisjoint(set2):判断两个集合是不是不相交,如果不相交,返回True; 6.序列转换list(sub):把一个可迭代对象转换为列表;tuple(sub)、str(obj)同理; len(s):返回s长度或元素个数; max(sub):返回序列中的最大值; min(sub):返回序列中的最小值; sum(iterable[,start=0]):返回序列iterable与可选参数start的总和; reversed(seq):返回一个反转迭代器; enumerate(sequence, [start=0]):遍历seq |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 15:02:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |