python集合以及编码初识
一.集合 set
集合是无序的,天然能去重,是可变的.例:s = {1,2,3,4,5}
s = {}
s1 = {1}
print(type(s)) # 空{}就是字典
print(type(s1)) #集合
集合的基本操作:
1.增
s = {1,2,3,'22',,'ss',(3,4)}
s.add('元素')
s.update('alex') #迭代添加 'alex'会被分割添加
2.删
s = {1,2,3,'22',,'ss',(3,4)}
s.remove() #通过元素指定删除
s.pop() #随机删除,有返回值,返回的是删除的元素
s.clear() #清空set
del s #删除整个集合
3.改
先删后增就是改.
s = {1,2,3,'','ss',(3,4)}
s.remove(3)
s.add(7)
print(s)
4.查
通过for循环实现
5.其他操作:
1.通过set去重
lst = [1,2,3,42,3,45,67,534,2]
print(list(set(lst)))
2.
s = {'黑哥'}
s1 = {'虎哥','开哥','alex哥','黑哥','wu哥'}
print(s & s1) # 交集 俩个集合都有的才输出
print(s | s1) # 并集 两个集合 合并到一起
print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来
print(s ^ s1) # 反交集 相当于并集-交集
print(s < s1) # 子集
print(s1 > s) # 超(父)集
3.冻结集合 frozenset()
a = frozenset((1,2,3))
dic ={a:1}
print(dic)
二.二次编码
ascii 不支持中文
unicode 万国码 中文4个字节 英文 2个
utf-8 最少使用1个字节 欧洲 2 亚洲 3
gbk 中文 2 英 1
windows 默认编码GBK
a = '你好黑'
a2 = a.encode('utf-8') #编码
print(a)
print(a2)
a3 = a2.decode('utf-8') #解码
print(a3)
###bytes字节用于传输和存储
注意:用什么编就用什么写!
三.基础数据类型补充
1.通过for循环删除列表中所有元素
lst = [1,2,3,4,5]
for i in range(len(lst)):
lst.pop()
print(lst)
还可通过新建列表删除
lst = [1,2,3,4,5]
lst1 = [] for i in lst:
lst1.append(i)
for k in lst1:
lst.remove(k)
print(lst)
字典在循环过程中不能进行增加和删除,字典也可通过新建字典的方法删除
lst = {}
dic ={'a':1,'b':2}
for i in dic:
lst[i]= dic[i]
for i in lst:
dic.pop(i)
print(dic)
2.字典的fromkeys()方法
dic = dict.fromkeys(['alex','wusir','wenzhou','nvshen','kaige'],['太白','姗姗'])
fromkeys #第一是键 第二是值
print(dic)
四.深浅拷贝
浅拷贝:只拷贝第一层元素
深拷贝:拷贝所有元素,开辟新的空间储存,两者没有任何关系
浅拷贝
lst = [1,2,3,[4,5,6],7]
lst1 = lst #赋值
lst2 = lst[:] # 切片
lst.append(7)
print(lst)
print(lst2)
深拷贝
import copy
lst4 = copy.deepcopy(lst) # 深拷贝
lst[-2].append(7)
print(lst) #[1, 2, 3, [4, 5, 6,7], 7]
print(lst4) #[1, 2, 3, [4, 5, 6], 7]
python集合以及编码初识的更多相关文章
- 《Python》 while循环、运算符和编码初识
一.while 循环 while也叫无限循环 while 条件: 循环体 判断条件: 条件为真,进入循环体,循环体执行到底部,返回,继续判断条件. 终止循环: 1.改变条件(标志位的概念) 2.bre ...
- python基础入门while循环 格式化 编码初识
一.while循环 1.格式 while+空格+条件+英文冒号: 缩进+结果(循环体) #若条件为真则一直执行,条件为假则不执行 while True: print('痒') print('. ...
- python 基础(while 循环、格式化输出、运算符、编码初识)
while循环 break 终止当前循环 count = 1 while count < 3: print(count) count += 1 break # while循环中一旦代码执行到br ...
- while循环、格式化输出、运算符和编码初识
while循环 1. while循环的结构 while 条件: 执行语句1 执行语句2 i = 0 while i < 10: print(i) i += 1 运行结果 0 1 2 3 4 5 ...
- Python 的字符编码
配置: Python 2.7 + Sublime Text 2 + OS X 10.10 本文意在理清各种编码的关系并以此解决 Python 中的编码问题. 1 编码基本概念 只有先了解字符表.编码字 ...
- Python运算符和编码
Python运算符和编码 一.格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ----------info of dogfa---------- n ...
- Python 入门之编码
Python 入门之编码 1.编码初识: (1)ASCII码 :256 个 英文1个字节,不支持中文 (2)GBK(国标) : 英文1个字节 中文两个字节 (3)unicode (万国码):英文4个字 ...
- Python 简明教程 --- 13,Python 集合
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了. -- Norm Schryer 目录 前几节我们已经介绍 ...
- python基础之编码问题
python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...
随机推荐
- 学习笔记:(转)Centos7.6安装Oracle11gR2
目录 原文链接:https://www.cnblogs.com/qianjingchen/articles/10442445.html Windows下安装Oracle比较容易,参考博客:https: ...
- Java程序的编写与执行、Java新手常见问题及解决方法|乐字节Java学习
今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. 一.HelloWorld的编写 ① 新建一个XXX.java (文件的扩展名显示出来) ...
- 封装Json+日志
/** * 输出json * @param $msg * @param int $errno */ public function printOutError($msg = '操作失败', $errn ...
- [转帖]Oracle数据安全--校验Oracle安装软件的 SHA码 防范注入风险
Oracle数据安全--校验Oracle安装软件的 SHA码 防范注入风险 https://www.toutiao.com/i6723512458482303499/ certutil md5sums ...
- Java基础---Java常量
常量:在程序运行期间不变的量 分类: 类型 含义 数据举例 整数常量 所有整数 0,1, 567, -9 小数常量 所有小数 0.0, -0.1, 2.55 字符常量 单引号引起来,只能写一个字符, ...
- 初始STM32
主要内容: 1.什么是STM32 STM32有什么 STM32怎么选型号 一:什么是STM32 ST— 意法半寻体,是一个公司名,即SOC厂商(ARM是IP厂商,STM32中内核由ARM设计,外设例如 ...
- 【转载】springboot启动报错(Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWe)
SpringBoot启动时的异常信息如下: 1 "C:\Program Files\Java\jdk1.8.0_161\bin\java" ......... com.fangxi ...
- .net Core如何对静态文件的访问进行鉴权操作?
之前给公司开发了一个文件管理服务,最基本的功能就是文件的上传下载,以及更新删除.预览:负责公司各个子系统的相关附件的管理,所有的接口都通过AOP来进行身份拦截认证了,但是在进行预览的时候,因为采用的是 ...
- 基因组所三代单分子测序PacBio完成技术升级—超长读长助力基因组学研究
基因组所三代单分子测序PacBio完成技术升级—超长读长助力基因组学研究 2015-09-23 | 作者:所级中心基因组平台 张兵 [关闭] 近日,基因组所所级中心基因组平台三代单分子实时测序PacB ...
- vue引入警告:There are multiple modules with names that only differ in casing. This can lead to unexpected behavior when compiling on a filesystem with other case-semantic. Use equal casing. Compare these
在写vue项目的时候 当我使用 : import dataSource from '../overseaProduct/house/dataSource'; 引入dataSource文件的时候:控制台 ...