python学习的第六天数据类型及内置方法part2

一、元祖:就是一个不可变的列表

1、用途:用于存放多个值,当存放的多个值只能读的需求没有改的需求时用元祖最合适

2、定义方式:在()内用逗号分隔开多个任意类型的值

# t=(1,)
# print(t,type(t)

3、常用的操作和内置的方法

(1)按索引取值(正向取,反向取):只能取

(2)切片(顾头不顾尾,步长)

# t=(‘h‘,‘e‘,‘l‘,‘l‘,‘o‘)
# res=t[1:3]
# print(res)
# print(t)

(3)长度(len)

(4)成员运算in和not in

(5)循环

# t=(‘h‘,‘e‘,‘l‘,‘l‘,‘o‘)
# for item in t:
#     print(item)

4、总结:

(1)存多个值

(2)有序

(3)不可变

*掌握的方法

索引元素的位置:对于没有的元素会报错

t=(‘a‘,‘b‘,‘a‘)
print(t.index(‘a‘))                0

二、字典

1、用途:用来存放多个(不同种类的)值

2、定义方式:用{}内用逗号 分隔开多个key:value的元素,其中value可以是任意数据类型,而key的功能通常是用来描述value的,所以key通常是字符串类型,但其实key必须是不可变的类型(int/float/str/tuple)

3、常用操作和内置方法

(1)、按key存取值:可存可取

(2)长度len

(3)成员运算in和not in

(4)删除

d={‘x‘:1,‘y‘:2,‘z‘:3}
# del d[‘y‘]
# print(d)                                     无反值

# res=d.pop(‘y‘)
# print(d)
# print(res)                                     有返值,是key对应的值

# res=d.popitem()
# print(res)                                     有返值,是key和其value

(5)键key(),值value(),键值对items()

d={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘,‘hobbies‘:[1,2,3]}
# # print(d.keys())
# print(list(d.keys()))
#
# # print(d.values())
# print(list(d.values()))
# # print(d.items())
# print(list(d.items()))

(6)循环

# for k,v in d.items(): #k,v=(‘name‘, ‘egon‘)
#     print(k,v)

4、总结:

(1)存多个值

(2)无序

(3)可变

5掌握的操作:

(1)get方法

可以取值

d={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘,‘hobbies‘:[1,2,3]}
d.get(name)相当于d[‘name‘}可以判定key在不在字典里面而不报错
v=d.get(‘namexxxxxxx‘)print(v)                                     None(2)updata方法:将一个字典合并到里面
d={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘,‘hobbies‘:[1,2,3]}
d.update({‘x‘:1,‘name‘:"EGON"})
print(d) 

{‘name‘: ‘EGON‘, ‘age‘: 18, ‘sex‘: ‘male‘, ‘hobbies‘: [1, 2, 3], ‘x‘: 1}

(3)fromkeys

# fromkeys:需求是快速新造出一个字典,value的初始值全都为None,而key是来自于一个列表
# keys=[‘name‘,‘age‘,‘sex‘]
# # d={}
# # for k in keys:
# #     d[k]=None
#
# d={}.fromkeys(keys,None)
# print(d)

(4)按照默认的操作形式

# d[‘x‘]=1111 # key存在则修改
# d[‘z‘]=1111 #key不存在则新增
# 按照setdefault的形式
# d={"x":1,"y":2}
# res=d.setdefault(‘x‘,11111) # 在key存在的情况下不修改值,会返回原值
# print(d)
# print(res)

# res=d.setdefault(‘z‘,11111) # 在key不存在的情况下会新增值,会返回新增的值
# print(d)
# print(res)

三、集合(set)

1、什么是集合

在{}内用逗号分隔开多个值,集合的特点

(1)每个值必须是不可变类型

(2)集合无序

(3)集合内元素不能重复

2、为何要用集合

(1)用去做关系运算

(2)去重

3、如何用集合

(1)集合的第一大用途:关系运算

pythons={‘egon‘,‘张铁蛋‘,‘李铜蛋‘,‘赵银弹‘,‘王金蛋‘,‘艾里克斯‘}
linuxs={‘欧德博爱‘,‘李铜蛋‘,‘艾里克斯‘,‘lsb‘,‘ysb‘,‘wsb‘}

# 1 求同时报名两门课程的学生姓名:交集
# print(pythons & linuxs)
# print(pythons.intersection(linuxs))

# pythons=pythons & linuxs
# print(pythons) #{‘李铜蛋‘, ‘艾里克斯‘}
# pythons.intersection_update(linuxs) #pythons=pythons.intersection(linuxs)
# print(pythons) #{‘艾里克斯‘, ‘李铜蛋‘}

# 2 求报名老男孩学校课程的所有学生姓名:并集
# print(pythons | linuxs)
# print(pythons.union(linuxs))

# 3 求只报名python课程的学生姓名: 差集
# print(pythons - linuxs)
# print(pythons.difference(linuxs))
# print(linuxs - pythons) #求只报名linux课程的学生姓名
# print(linuxs.difference(pythons))

# 4 求没有同时报名两门课程的学生姓名: 对称差集
# print((pythons - linuxs) | (linuxs - pythons))
# print(pythons ^ linuxs)
# print(pythons.symmetric_difference(linuxs))

# 5 父子集:指的是一种包含与被包含的关系
# s1={1,2,3}
# s2={1,2}
# print(s1 >= s2)
# print(s1.issuperset(s2))
# print(s2.issubset(s1))
# 情况一:
# print(s1 > s2) #>号代表s1是包含s2的,称之为s1为s2的父集
# print(s2 < s1)

# 情况二:
# s1={1,2,3}
# s2={1,2,3}
# print(s1 == s2) #s1如果等于s2,也可以称为s1是s2的父集合

# 综上:
# s1 >= s2 就可以称为s1是s2的父集

交集(&)、并集(|)、差集(-)、对称差集(^)、父子集(包含和被包含关系)

(2)集合的第二大用途:去重

集合去重的局限性:

#1会打乱原值的顺序(无序)

#2只能针对不可变的值去重

对于可变的值去重可以:

l=[
    {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘},
    {‘name‘:‘alex‘,‘age‘:73,‘sex‘:‘male‘},
    {‘name‘:‘egon‘,‘age‘:20,‘sex‘:‘female‘},
    {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘},
    {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘},
]
# new_l=[]
# for dic in l:
#     if dic not in new_l:
#         new_l.append(dic)
# print(new_l)
[{‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘}, {‘name‘: ‘alex‘, ‘age‘: 73, ‘sex‘: ‘male‘}, {‘name‘: ‘egon‘, ‘age‘: 20, ‘sex‘: ‘female‘}]

4、需要掌握的操作

updata:增加值

s1={1,2,3}
s1.update({3,4,5})

pop删除

s1.pop()

5、总结

存多个值

无序

set可变

原文地址:https://www.cnblogs.com/ye-hui/p/9671178.html

时间: 2024-08-30 00:35:56

python学习的第六天数据类型及内置方法part2的相关文章

学习内容:数据类型的内置方法

一数据类型的内置方法 数据为什么要分类型(掌握) 数据是用来表示状态的,不同的状态就应该用不同的类型数据去表示.比如姓名.身高和爱好,这三者就应用了不同的数据类型存储. int(掌握) 用途:年龄.号码.等级 定义:可以使用int()方法将寸数字的字符串转为十进制的整型 age = 19 # age =int(10) print(type(age)) <class 'int'> x = int('111') print(type(x)) <class 'int'> x = int(

Python之基本数据类型及内置方法

Python之基本数据类型及内置方法 数字类型 整型 1.作用 年龄/id 2.定义方式 x = 10 3.使用方法 + - * / % // ** < <= > >= == != 4.有序or无序 有索引的就有序,无索引的就无序 压根就没有有序无序一说 5. 可变or不可变 值变id不变叫可变,值不变id变叫不可变 整型不可变 x = 10 print(id(x)) x += 1 print(id(x)) 浮点型 1.作用 薪资 2.定义方式 x = 10.1 3.使用方法 +

数据类型及内置方法

数据类型及内置方法 一.数字类型 1.int整型      (不可变类型,一个值) print(int(3.1)) # res=int('1111111') # print(res,type(res)) 整型可接收纯数字组成的字符串.浮点型或者是阿拉伯数字 在python中十进制转换为二进制   bin(x) 转换为八进制   oct(x) 转换为16进制 hex(x) 2.float浮点型      (不可变类型,一个值) 同int # res=float('111111.1') # prin

数据类型的内置方法:集合

目录 数据类型的内置方法:集合 作用 定义 优先掌握的内置方法 数据类型的内置方法:集合 作用 用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序. 一个值or多个值:多个值,且值为不可变数据类型 有序or无序:无序 可变or不可变:可变 定义 {} 内用逗号分隔开多个元素,每个元素必须是不可变类型. s = {1,2,1,'a'} # s = set({1,2,'a'}) print(s) # {1,2,'a'} 优先掌握的内置

数据类型的内置方法:元组

目录 数据类型的内置方法:元组 作用 定义 优先掌握的内置方法 数据类型的内置方法:元组 作用 能够存储多个元素,元素与元素之间逗号隔开 ,元素可以是任意类型,元组不能被修改. 存一个只or多个值:多个值 有序or无序:有序 可变or不可变:不可变 定义 num = (1,2,3,4,5,6) # num = tuple((1,2,3,4,5,6)) 优先掌握的内置方法 1:按索引取值(正向或反向取),只能取 num = (1,2,3,4,5,6) print(num[5]) # 6 2:切片(

05 基本数据类型及内置方法

[TOC] 一 引子 ? 数据类型是用来记录事物状态的,而事物的状态是不断变化的(如:一个人年龄的增长(操作int类型) ,单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作,为了提升我们的开发效率, python针对这些常用的操作,为每一种数据类型内置了一系列方法.本章的主题就是带大家详细了解下它们,以及每种数据类型的详细定义.类型转换. 插图:恶搞图01 二 数字类型int与float ##2.1 定义 # 1.定义:

Python之面向对象:类的内置方法

1.def __add__(self,other): c1+c2 两个实例的加法操作就是执行__add__()方法 2.__str__(self): print一个实例的时候,执行的是__str__()这个内置方法 eg: class Vector(object): def __init__(self,a,b): self.a = a self.b = b def __str__(self): return 'Vector(%d,%d)'%(self.a,self.b) def __add__(

python - __setitem__/__getitem__/__delitem__类的内置方法

# class 内置方法: # __setitem__ # __getitem__ # __delitem__ class Test(): X = 100 def __getitem__(self, item): print("getitem") def __setitem__(self, key, value): print("setitem") def __delitem__(self, key): print("delitem") xx =

数据类型及内置方法2

字符串的内置方法 以下了解 #find,rfind,index,rindex,count name='egon say hello'print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引 print(name.index('e',2,4)) #同上,但是找不到会报错 print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有 #center,ljust,rjust,zfill name='egon'print