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列表、元组、字典、集合的内置使用方法的更多相关文章
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- python 列表 元组 字典 集合
列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...
- Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- Day 07 数据类型的内置方法[列表,元组,字典,集合]
数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...
- python元组-字典-集合及其内置方法(下)
列表补充 补充方法 清空列表 clear # clear 清空列表 l = [1, 2, 3, 4, 4] print(l.clear()) # clear没有返回值(None) print(l) # ...
随机推荐
- 0 Java实现 一篇文章说尽设计模式之六大原则
我们知道,设计模式很有用,学好设计模式不但能让你写出更简洁,优雅的代码,还能使得代码的结构更清晰,也更有利于扩展 当然设计模式也不是万能的,一成不变的.设计模式只是前人总结出来的一种经验,一种特定问题 ...
- 【WIP】Swift4 异常处理, JSON处理
创建: 2018/03/24 更新: 2018/06/05 补充catch可以只带where不带模式 [任务表]TODO 异常处理语法 异常的发生 抛出例外 thorw 式 ● 抛出的值的类型必须采 ...
- P5071 [Ynoi2015]此时此刻的光辉
传送门 lxl大毒瘤 首先一个数的因子个数就是这个数的每个质因子的次数+1的积,然后考虑把每个数分解质因子,用莫队维护,然后我交上去就0分了 如果是上面那样的话,我们每一次移动指针的时间复杂度是O(这 ...
- app 后台程序设计
限制客户端一分钟之内访问接口的次数 1.设备的唯一标识获取这个实际上IOS7后会存在问题,权限已经收回了,android可以2.唯一标识可以通过生成一个token区分3.每分钟的频率可以这样设置 ke ...
- Luogu P2858 [USACO06FEB]奶牛零食Treats for the Cows 【区间dp】By cellur925
题目传送门 做完A Game以后找道区间dp练练手...结果这题没写出来(哭). 和A Game一样的性质,从两边取,但是竟然还有天数,鉴于之前做dp经常在状态中少保存一些东西,所以这次精心设计了状态 ...
- 前端基础jQuery
jQury jQuery 是一个 JavaScript 函数库,jQuery 极大地简化了 JavaScript 编程. jQuery库包含以下功能: HTML 元素选取 HTML 元素操作 CSS ...
- 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)
不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...
- IIS 的最大并发数
为了探寻IIS的最大并发数,先要做几个假设. 1.假设最大并发数就是当前的连接数.意思是当前能承受最大的连接,那么就表明最大的并发.2.假设IIS应用程序池处于默认状态,更改设置将会对最大连接数产生影 ...
- json两层解析
public class Demo { public static void main(String[] args) { try { // 创建连接 服务器的连接地址 URL url = new UR ...
- 请大家帮我找一找bug —— 一个MySQL解析程序(JAVA实现)
周末两天我写了一个MySQLParser.写这个东西的目的是:公司的一个项目中需要对数据打版本号(每个表的每条记录要有一个版本号字段,这个字段需要由框架自动打上去,而不是由程序员来做). 所以,我写的 ...