热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有德最帅,有德最聪明——集合类型内置方法、字符编码,第十天

终于明白了抄不是目的。当然不可能是给我抄,今天的标题很好的说明了一切。如果一个人学机器一样去麻木的非常有规律的完成自己的罚抄,那么他终将和机器一样;一个人应该学人,每抄一行,每抄一遍都应该去

终于明白了抄不是目的。当然不可能是给我抄,今天的标题很好的说明了一切。如果一个人学机器一样去麻木的非常有规律的完成自己的罚抄,那么他终将和机器一样;一个人应该学人,每抄一行,每抄一遍都应该去思考这是为什么。

我为什么会随口说出’我吃过了‘,我他


妈真是蠢驴,草泥马的陈有德大傻逼。

十五岁的时候让你学游泳,你说难,不学了,等你十八岁的时候,有女孩子约你一起去游泳,你说你不会

第十天

集合类型:

1.用途:关系运算,去重

2.定义方式,使用{}用逗号分隔开多个值,存放的值只能是不可变(可hash)类型

3.强调:

集合内元素都是不可变即可hash类型

集合内的元素无序

集合内的元素不能重复


单纯使用集合去重,需要注意的问题:

去重的目标所包含的值必须是不可变类型

去重的结果会打乱原来的顺序


常用操作+内置的方法:

优先掌握的操作:

1,长度len():

pythOners={'王大炮','李二丫','陈独秀','艾里克斯','wxx','欧德博爱'}
print(len(pythoners))

2.成员运算和in 和 not in:

print('李二丫' in pythoners)

3.并集 | 

pythOners={'王大炮','李二丫','陈独秀','艾里克斯','wxx','欧德博爱'}
linuxers={'陈独秀','wxx','egon','张全蛋'}
print(pythoners | linuxers)
print(pythoners.union(linuxers))

4.交集&

print(pythoners & linuxers)
print(pythoners.intersection(linuxers))
print(linuxers & pythoners)

5.差集-

print(pythoners - linuxers)
print(pythoners.difference(linuxers))
print(linuxers - pythoners)
print(linuxers.difference(pythoners))

6.^对称差集(交叉补集)

print(pythoners ^ linuxers)
print(pythoners.symmetric_difference(linuxers))

7.==

s1={1,2,3}
s2={1,2,3}
print(s1 == s2)

8.父集(包含关系):>,>=

s1={1,2,3,4,5}
s2={1,2,3}
print(s1 > s2) # s1包含s2

9.子集,被包含的关系:<,<=

需要掌握的内置方法:

1.add()添加一个元素

s1={1,2,3,4,5}
s1.add(6)
print(s1)

2.update()加入一个集合

s1.update({4,7,8,9})
print(s1)

3.pop()随机删除一个元素,有返回值

res=s1.pop()
print(res)

4.remove()删除一个元素,没有返回值

res=s1.remove(4)
print(res)
print(s1)

5.difference_update,将集合中不同的元素更新到指定的集合中

s1={1,2,3,4,5}
s2={2,3,7,8}
s1=s1 - s2
print(s1)
s1.difference_update(s2) # s1=s1 - s2
print(s1)

6.discard()即便要删除的元素不存在也不会报错

s1.discard(7) # 即便要删除的元素不存在也不会报错

7.isdisjoint()查询某个集合的值是否在另一个集合中

s1={1,2,3,4,5}
s2={5,6,7,8}
print(s1.isdisjoint(s2))

集合类型总结:

可以存多个值,但是存的值都是不可变的类型;无序;可变类型

单纯的用集合去重时,需要主要的问题,

去重的目标所包含的值必须都为不可变类型

去重结果会打乱原来的顺序


字符编码:

将人类的字符编码/转换成计算机能识别的数字,这种转换必须遵循一套固定的标准,该标准无非是人类字符与数字之间的对应关系,称之为字符编码表

这个东西我已经完全理解了,所以我把老师讲课打出来的文字复

制粘贴出来给你们看,看得懂的看,看不懂的留言:

00
01
10
11


A---->0000 0000
B---->0000 0001
c---->0000 0002
d---->0000 0003

bit:二进制位
Bytes:字节

ASCII码表:用1Bytes表示一个英文字符
1英文字符=8bit=1Bytes


GBK:用2Bytes表示一个中文字符,1Bytes去表示英文字符



unicode:内存中使用的是unicode编码,unicode把全世界的字符都建立好对应关系
2Bytes去表示一个字符


    0000 0000 0000 0000

    utf-8 #unicode tranform format-8
        utf-8 1Bytes表示英文,用3Bytes表示中文


#字符编码需要记住的概念
#01 内存中固定使用unicode编码,我们唯一可以改变的存储到硬盘时使用的编码
#02 要想保证存取文件不乱乱码,应该保证文档当初是以什么编码格式存的,就应该以什么编码格式去读取

#03 python3解释器默认编码是UTF-8
    python2解释器默认编码是ASCII


    python2中有两种字符串编码格式
        1unicode            x=u''
        2unicode编码后的结果
            x='' #如果文件头为coding:utf-8,那么""被存成utf-8格式的二进制

python3只有一种字符串编码格式:
        1unicode
            x='’

#04  编码与解码
    unicode-------编码encode-------->gbk
    unicode<-------解码decode--------gbk

    #***
    #coding:gbk
    x='’
    x.decode('gbk')

    #coding:gbk
    x=u''
    x.encode('gbk')
    x.encode('utf-8')


    #python3中(*****    x=''
    x只能进行编码
    x.encode('gbk')

总结:python2和python3 :

在python2 中的字符串类型都是str类型,都是unicode按照文件头指定的编码,编码之后的结果

在python2中也可以制造unicode编码的字符串,需要在字符串前面加上u

python3

在python3中所有的字符串类型都是unicode编码的

所以python3中的字符串类型可以编码成其他类型


推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 转自:http:www.phpweblog.netfuyongjiearchive200903116374.html一直对字符的各种编码方式懵懵懂懂,什 ... [详细]
  • 我从来没有学过c语言,学不会C语言
    本文目录一览:1、我从没学过计算机C语言,怎么准备考二级C? ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 本文介绍了在C#中SByte类型的GetHashCode方法,该方法用于获取当前SByte实例的HashCode。给出了该方法的语法和返回值,并提供了一个示例程序演示了该方法的使用。 ... [详细]
  • python中安装并使用redis相关的知识
    本文介绍了在python中安装并使用redis的相关知识,包括redis的数据缓存系统和支持的数据类型,以及在pycharm中安装redis模块和常用的字符串操作。 ... [详细]
  • 本文介绍了如何使用go语言实现一个一对一的聊天服务器和客户端,包括服务器开启、等待客户端连接、关闭连接等操作。同时提供了一个相关的多人聊天的链接供参考。 ... [详细]
  • LINUX运行谷歌TTS,中文TTS 的简单实现(基于linux)之 语音库的实现
    语音库保存着常用汉字的发音(多音的汉字只记录其一种发音,这也是本系统的一个缺陷,需要以后完善),所以先要得到一汉字集,这个汉 ... [详细]
author-avatar
may
额,有趣的灵魂终会相遇
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有