元祖/集合/字符编码

元祖:该类型总结:/存多个值/有序/不可变

特点:不能改,只能取/但是元祖里面的列表可以改type:tuple1 用途:记录多个值,当多个值没有改的需求,此时用元组更合适2 定义方式:在()内用逗号分隔开多个任意类型的值t=(1,1.3,‘xx‘,(‘a‘,‘b‘),[1,2]) #t=tuple((1,1.3,‘xx‘,(‘a‘,‘b‘),[1,2]))3.常用操作+内置的方法1、按索引取值(正向取+反向取):只能取a=(1,2,3,4,5)print(a[0:4])#(1, 2, 3, 4)print(a[0])#1

2.切片(顾头不顾尾,步长)print(a[0:4:2])#(1, 3)

3.计数(count)a=(1,2,3,4,5,1,2)print(a.count(1))#2

4.查(index)a=(1,2,3,4,5,1,2)print(a.index(5))#4a=(1,2,3,4,5,1,2,5)print(a.index(5,6,8))#6,8是选定的范围#7

字典:type:dict该类型总结:存多个值/无序/可变特点:value可以是任意类型,而key必须是不可变的类型1 用途:记录多个值,每一个值都对应的key用来描述value的作用2 定义方式:在{}内用逗号分隔开多 个key:value,其中value可以是任意类型,而key必须是不可变的类型,通常情况下应该str类型dic={0:‘aaa‘,1:‘bbb‘,2:‘cccc‘} #dic=dict({0:‘aaa‘,1:‘bbb‘,2:‘cccc‘})print(dict(x=1,y=2)) #{‘x‘: 1, ‘y‘: 2}3 常用操作+内置的方法

1、按key存取值:可存可取# dic={‘name‘:‘egon‘}# print(dic[‘name‘])# dic[‘name‘]=‘EGON‘# print(dic)# dic[‘age‘]=18# print(dic)2.删dic={    ‘name‘:‘egon‘,    ‘age‘:18,    ‘sex‘:‘male‘}del dic #删字典

del dic[‘name‘]#删key和value(要是没有‘name‘则报错)

res=dic.pop(‘age‘)#删key对应的value,返回value的值(要是没有‘age‘则报错)print(dic)#{‘name‘: ‘egon‘, ‘sex‘: ‘male‘}print(res)#18

res=dic.popitem()#随机删,并返回删掉这一行(字典是空的,报错)print(res)

3.键keys(),值values(),键值对items()dic={    ‘name‘:‘egon‘,    ‘age‘:18,    ‘sex‘:‘male‘}1.输出所有的keyprint(dic.keys())dict_keys([‘name‘, ‘age‘, ‘sex‘])#老母鸡for k in dic.keys():#鸡蛋    print(k)

2.输出所有的valueprint(dic.values())#dict_values([‘egon‘, 18, ‘male‘])for i in dic.values():    print(i)

3.输出每个字典里一行print(dic.items())#dict_items([(‘name‘, ‘egon‘), (‘age‘, 18), (‘sex‘, ‘male‘)])

4.输出key和valuefor key,value in dic.items():    print(key,value)#name egon#age 18#sex male

4.快速创建字典(fromkeys)dic={}dic=dic.fromkeys([‘hobby‘,‘birthday‘],None)print(dic)#{‘hobby‘: None, ‘birthday‘: None}

5.改update:把新的添加到旧的里,以新的为主改旧的dic={    ‘name‘:‘egon‘,    ‘age‘:18,    ‘sex‘:‘male‘}dic2={    ‘name‘:‘张三‘,    ‘hobby‘:‘eat‘}dic.update(dic2)print(dic)#{‘name‘: ‘张三‘, ‘age‘: 18, ‘sex‘: ‘male‘, ‘hobby‘: ‘eat‘}

setdefault(有则不动/返回原值,无则添加/返回新值)dic.setdefault(‘hobby‘,‘eat‘)print(dic)#{‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘, ‘hobby‘: ‘eat‘}

集合:type:set总结:存多个值/无序/set可变用set()方法转换成集合用途: 关系运算,去重定义方式: 在{}内用逗号分开个的多个值集合的三大特性:#1 每一个值都必须是不可变类型*******(不能用列表....)#2 元素不能重复#3 集合内元素无序

pythons={‘李二丫‘,‘张金蛋‘,‘李银弹‘,‘赵铜蛋‘,‘张锡蛋‘,‘alex‘,‘oldboy‘}linuxs={‘lxx‘,‘egon‘,‘张金蛋‘,‘张锡蛋‘,‘alex‘,‘陈独秀‘}# 取及报名python课程又报名linux课程的学员:交集# print(pythons & linuxs)# print(pythons.intersection(linuxs))

# 取所有报名老男孩课程的学员:并集# print(pythons | linuxs)# print(pythons.union(linuxs))

# 取只报名python课程的学员: 差集# print(pythons - linuxs)# print(pythons.difference(linuxs))

#差集并赋值给aa.difference_update(b)print(a)

# 取只报名linux课程的学员: 差集# print(linuxs - pythons)# print(linuxs.difference(pythons))

# 取没有同时报名两门课程的学员:对称差集# print(pythons ^ linuxs)# print(pythons.symmetric_difference(linuxs))

# 父集:一个集合是包含另外一个集合# s1={1,2,3}# s2={1,2}# print(s1 >= s2)# print(s1.issuperset(s2))

#增#增加多个a={1,2,3}b={5,6,2,3}a.update(b)print(a)#{1, 2, 3, 5, 6}

#增加一个a.add(10)print(a)#{10, 1, 2, 3}

#删a.pop()#删除一个值,返回删除的值a.remove(2)#删除制定的值2,返回值为None,删除的元素不存在则 报错res=a.discard(2)##删除制定的值2,返回值为None,删除的元素不存在 不会报错

#判断print(s1.isdisjoint(s2)) #如果两个集合没有交集则返回Trueprint(s1.isdisjoint(s2)) #如果两个集合没有交集则返回True

集合去重# 局限性#1、无法保证原数据类型的顺序#2、当某一个数据中包含的多个值全部为不可变的类型时才能用集合去重

字符编码:一 储备知识点1    运行程序的三大核心硬件        cpu        内存        硬盘

运行一个程序:        代码由硬盘读入内存,cpu从内存中读取指令执行

强调:程序运行过程中产生的数据一定是最先存放于内存中的

二 储备知识点2    运行python程序的三个阶段:python test.py        1、先启动python解释器        2、将test.py的内容当作普通字符读入内存        3、python解释器解释执行读入内存的代码,识别python的语法

python解释器运行程序的前两个阶段跟文本编辑器一模一样        只有第三个阶段不同

三 字符编码    人操作计算机使用人类认识的字符,而计算机存放都是二进制数字    所以人在往计算机里输入内容的时候,必然发生:        人类的字符------(字符编码表)--------》数字

ASCII: 用(8位bit二进制数)1Bytes对应一个英文字符            8bit= 1Bytes            1024Bytes=1KB            1024KB=1MB            1024MB=1GB            1024GB=1TB            1024TB=1PB

GBK:用2Bytes对应一个中文字符,1Bytes对应一个英文字符

unicode:用2Bytes对应一个字符            必须满足两大特点:                1、能够兼容万国字符                2、与老字符编码都有一种数字与数字的对应关系        a 1111 0111        a 0000 0000 1111 0111

utf-8:Unicode Transformation Format            一个中文字符:3bytes            一个英文字符:1bytes

强调:            unicode格式的数字--------encode编码---------》utf-8格式的数字            unicode格式的数字《--------decode解码《---------utf-8格式的数字

原文地址:https://www.cnblogs.com/lvhanzhi/p/9366140.html

时间: 2024-07-30 09:39:27

元祖/集合/字符编码的相关文章

第二章 集合 字符编码

集合 定义:有一个或多个确定的元素所构成的整体叫做集合. 特征: 1. 确定性(元素必须可hsah) 2. 互异性(去重) 3. 无序性(集合中的元素没有先后之分) 集合存在的意义就在于去重和关系运算 集合的创建: s = {} 创建一个字典 s = {1} 创建一个集合 集合的关系运算 交集 取出两个集合中共有的元素 s.intersection(s1) s & s1 差集 s.difference(s1) s - s1 从s中把s1中有的元素都去掉,通俗来讲就是:你有的我通通不要. 并集 s

集合+字符编码

集合及关系运算 用途:关系运算,去重 定义方式:s={},花括号内用逗号隔开多个元素,每一个元素都必须是不可变类型. 强调: 集合内的元素无序 集合内的元素不能改变 集合内的元素必须是不可变元素 单纯的用集合去重: 去重的目标所包含的值必须都为不可变型 去重的集合会打乱原来的顺序 优先掌握的操作 长度len 成员运算 in和not in 合集| 四交集& 差集- 对称差集 == 父集 子集 内置方法: .add .pop .remove .clear .copy .difference .dis

swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合

//: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground" //这里先提及下, //Swift中的属性的定义 //属性名首字母只能是字母,下划线 //首字母后也只能是数字,字母,下划线 /****************************************常量与变量**/ /**************常量的定义*/ //语法上就是使用let关

python基础知识之列表、元祖、字典、集合、字符串。

1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 ```python names='zhangyang guyun xiangpeng xuliangwei' names = ['zhang', 'zhuang', 'chen', 'qiang'] name_list = [['zhang', 'zhuang'], ['chen', 'qiang']] list_num = [1, 4, 5, 2, 3, 4, 52, 54] print(l

字符串,列表,元祖,字典,集合的内置方法

一. 数字类型 1.1 整型int   1.用途: 记录年龄\等级\各种号码 2.定义方式: age=18 age=int(18) x=int('123') #只能将纯数字的字符串转换成整型 print(type(x)) print(int(3.7)) #这个小数部分没有了 3.常用操作+内置的方法           ( 赋值\比较\算术) 该类型总结:   存一个值  ;  不可变(1.可变:值变,id不变.可变==不可hash 2.不可变:值变,id就变.不可变==可hash) 判断是否哈

基本数据类型:数字、字符串、列表、元祖、字典、集合

1.数据类型 数字:整型(int)  浮点型(float) 布尔值(bool):True/False 2.字符串 有序(有索引值),可hash name = "seven" name[1] #通过索引值获取对应字母 name[1:3:1] #切片,步长为1 name.find('n') #查找n值的索引 len(name) #name字符串的长度 name.strip() #去掉字符串前后多余空白:括弧内可以加其他的,例如'*',回去掉* name.lstrip() #去左空白 nam

列表/元组/字符串/字典/集合/文件/字符编码

1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 1 2 3 4 5 6 7 8 >>> names[0] 'Alex' >>> names[2] 'Eric' >>> names[-1] 'Eric' >>> names[-2] #

老齐python-基础4(元祖、字典、集合)

1.元祖 元祖的特性结合了字符串和列表 元祖是用圆括号括起来的,其中的元素之间用逗号(英文半角)隔开.元祖中的元素是任意类型的python对象(包括以后自定义的对象) 元祖中的元素不可更改,所以修改列表的方法,在元祖中都会失效.     使用场景: 元祖比列表操作速度快.如果定义了一个值,并且唯一要用他做的是不断的遍历他,那么请使用元祖代替列表. 如果对不需要修改的数据进行"写保护",即该数据是常量,那么此时也要使用元祖.如果必须要改变这些值,则可以转换为列表修改. 元祖可以在字典(又

what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中==比较的是值,is比较的是id.比较运算只能在同种类型下进行比较.字符串的比较是按照顺序依次进行比较.逻辑运算的顺序先后为要用括号来表示. 基本运算符如下: 算术运算 以下假设a=10,b=20 比较运算 以下假设a=10,b=20 赋值运算 逻辑运算  成员运算 身份运算 what's the 内