Python列表元组字典集合的内置使用方法
Posted hades0607
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python列表元组字典集合的内置使用方法相关的知识,希望对你有一定的参考价值。
列表: 是一种可以存储多个值得数据容器 内容是有序的 可以存储任何数据类型 可以存储重复的元素 是可变类型(当内容发生变化时id不变) 元组: 也是一种可以存储多个值得数据容器 元组中的元素不可以被修改 可以存储任何数据类型 可以存储重复的元素 是不可变类型 元素和列表到底谁快? 列表在增加和删除元素时都涉及到一个扩充容量和减少容量的操作,而元组没有这个过程,所以元组速度会略快列表 例如: 对列表调用一个pop方法和对元组直接取指 元组的定义方式: 变量名 = (value1,value,...n) 注:一旦元组被创建了,它的内容也就固定了 index 可以找出某个元素在元组中的位置,如果没有直接报错 count 统计元素在元组中出现的次数 字典: 字典是什么: 可以存储多个键值对的数据容器 键值对是: 以 key value形式存在的一对数据 key必须是不可变的数据类型 value可以是任意类型 字典是可变的(内容可以被修改而且id不会变) key不可以重复 value可重复 字典是无序的 字典定义的方式: 1.变量名 = {key:value} 2.变量名 = dict() 3.变量名 = {} 4.变量名 = dict(key=value) 存储键值对到字典中 在创建同时就可以指定 加入新的键值对[key]=value 注:如果key已存在会更新对应的值 字典名[key]=value 字典名.setdefault[key,value] 注:如果字典中已经存在相同的key则什么都不做,否则就添加 取值: 通过key取出value 注:如果字典中没有所要取的key,程序奔溃 print(字典[key] get 通过key取出value 注:如果字典中没有所要取得key,返回None print(字典.get(key)) 循环取值: 每一次取到的是key for 变量名 in 字典: print(变量名) items 用于取出键值对,这些键值对被打包在一起 for 变量名 in 字典.items(): print(变量名) keys 用于取出所有键 key,取出的类型是dict_keys类型 print(字典.keys()) values 用于取出有的值 value,取出的类型是dict_values类型 print(字典.values()) 删除键值对: 1. del 通用删除方法,不会返回被删除的值 del 字典[key] 2. pop 自带删除方法 根据key删除指定的[key:value],会返回被删除的值 字典.pop(key) 3. popitem 随机删除方法 随机删除一个[key:value],会返回被删除的值 字典.popitem() 更新: update 如果字典A中有字典B的key,就不操作,如果没有就添加[key:value] 字典A 字典B 字典A.update(字典B) 集合: 集合是什么: 可以存储多个值得数据容器 特点: 元素是无序的 可变的 不可以存储重复元素(id相同) 只能存储不可变数据类型 集合的定义方式: 变量名 = {值1,值2,.....} 集合更多的用在计算两个集合之间的关系的场景 交集: 写法1: & 取出两个集合中相同的元素 print(集合A & 集合B) 写法2: intersection print(集合A.intersection(集合B)) 求两个结果的交集并用结果更新集合B print(集合A.intersection_update(集合B)) 后面加_update(意思就是将结果复制给(集合B),集合B的原值全部清除 并集(合集): 写法1: | 合并两个集合中所有的元素(有重复的元素只显示一个元素) print(集合A | 集合B) 写法2: union print(集合A.union(集合B)) 差集: 写法1: - 求出两个集合中相差的元素(注: 多的集合减少的集合能得出差集,如果少的差集减多的差集返回空) print(集合A - 集合B) 写法2: difference print(集合A.difference(集合B)) 求两个结果的差集并用结果更新集合B print(集合A.difference_update(集合B)) 后面加_update(意思就是将结果赋值给(集合B),集合B的原值全部清除 对称差集: 写法1: ^ 除了交集以外的元素都是对称差集 print(集合A ^ 集合B) 写法2: symmetric_difference 后面可加_update print(集合A.symmetric_difference(集合B)) 子集: issubset print(集合A.issubset(集合B)) 集合A中的所有元素都出现在了集合B中,集合A就是集合B的子集 父集: issuperset print(集合B.issuperset(集合A)) 集合B中包含了集合A中的元素,集合B就是集合A的父集 无交集: isdisjoint print(集合A.isdisjoint(集合B)) 无交集返回Ture,有交集返回False 添加元素: add print(集合.add()) update() 一次添加多个值 删除: 随机删除: .pop() 删除指定元素: .remove() 没有找到要删除的元素程序会奔溃 .discard() 没有找到要删除的元素程序不会奔溃 移除空白: strip() 取出字符串两边的空格 lstrip() 取出字符串左边的空格 rstrip() 取出字符串右边的空格 可以添加参数 指定要去除的字符串 切分: split() 括号中第一个参数表示用什么作为分割符,第二个参数表示切几次 rsplit() 从右往左切 没有参数则代表使用空格作为分隔符 字符串替换: replace() 括号中第一个参数表示旧的内容,第二个参数表示新的内容 大小写转换: upper() 转换成全大写 lower() 转换成全小写 isupper() 判断是否全大写 islower() 判断是否全小写 title() 单词首字母转成大写 istitle() 判断单词首字母是否大写 capitalize() 将首字母转化成大写 swapcase() 大小写交换 判断字符串开头结尾: startswith() 判断字符串是否以某个字符串开头 endswith() 判断字符串是否以某个字符串结尾 字符串的链接: split() 字符串转换成列表("括号中需要定义一个分隔符") join() 将列表转换成字符串 "格式: X="|".join(list) 格式化字符串: format() {} 根据占位符来进行替换 {index} 根据指定的索引进行替换 {name} 根据指定的名字进行替换 例如: my name is {} age is {} ”.format(参数1....,参数n) print("my name is %s age is %s" % ("yyh","20")) print("my name is {name} age is {age}".format(name="yyh",age="20")) 查找: find 查找一个字符串出现在另一个字符串中的位置 如果没有返回-1 rfind 从右往左查找一个字符串出现在另一个字符串中的位置 如果没有返回-1 index 查找一个字符串出现在另一个字符串中的位置 如果没有直接报错 rindex从右往左查找一个字符串出现在另一个字符串中的位置 如果没有报错 count 查找一个字符串出现在另一个字符串中的次数 填充: center 在内容左右添加相同长度的字符 使内容居中 rjust 在右边添加符号 使其达到指定的长度 ljust 在左边添加符号 使其达到指定的长度 zfill在 左边添加0 使其达到指定的长度 is数字系列: isdigit 如果S中的所有字符都是数字,并且在S中至少有一个字符,则返回True isdecimal 如果S中只有十进制字符,则返回True,否则为False isnumeric 如果S中只有数字字符,则返回True,否则为False。 追加: append 用于在列表末尾添加新的对象。
以上是关于Python列表元组字典集合的内置使用方法的主要内容,如果未能解决你的问题,请参考以下文章
更深层次理解Python的 列表元组字典集合(工作面试学习必需掌握的知识点)