您当前的位置: 首页 >  大数据
  • 0浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python(6):Python中的六大数据类型——【set集合】

不愿透露姓名の网友 发布时间:2019-07-19 20:01:54 ,浏览量:0

在这里插入图片描述

文章目录
  • 一、数据类型 :Tuple-元组
    • 1.元组的常见使用
  • 二、数据类型 :Dict-字典
    • 1.认识字典
    • 2.字典的使用-添加
    • 3.字典的使用-删除
    • 4.字典的使用-遍历
    • 5.查询key是否在字典中
    • 6.集合的get方法
    • 7.字典的时间复杂度
  • 三、数据类型 :Set-集合
    • 1.认识集合
    • 2.集合的使用-添加和更新
    • 3.集合的使用-集合的遍历
    • 4.集合的使用-删除
    • 5.集合的使用-字典强制转换为集合
    • 集合的运算(交集,并集,补集,差集)

一、数据类型 :Tuple-元组

Python中的元组表现形式

格式举例创建空元组()或者tuple()创建只有一个元素的元组(1,)或者1,创建多个值的元组(1, 2, 3)或者1, 2, 3 1.元组的常见使用

①遍历元组

a = (1, 2, 3, 4)
#方法一,直接遍历
for i in a:
    print(i,end=' ')  

#方法二,通过长度和索引
for i in range(0,len(a)):
    print(a[i],end=' ') 

在这里插入图片描述

②元组的修改

元组不可修改的类型,但是元组内部的可变类型是可以修改的,这里以元组嵌套列表为例

a=(1,2,['a','b'],3)
a[2].append('x')
print(a)

结果: 在这里插入图片描述

③元组的拼接和重复

元组是不可修改类型,此时的拼接和重复出的结果是新的返回值

a=(1,2)
b=(3,4)

# 通过+拼接
c=a+b
print(c)

# 通过 * 重复
d=a*3
print(d) 

在这里插入图片描述 ④元组和列表的强制互相转换

a=[1,2,3]
b=tuple(a)
print(b)

c=list(b)
print(c)

结果: 在这里插入图片描述

二、数据类型 :Dict-字典 1.认识字典
  • 定义:无序的可修改的序列
  • 格式:a={'name':''蔡徐空'','age':18}
  • 创建空字典:dict(){}
  • 注意:
    • 字典的key必须是不可变类型
    • 同一字典有两个相同的key,会保留后一个key的数据
2.字典的使用-添加 添加方式注意字典名[key]=new_value即直接修改/如果没有,则为添加update()针对两个字典,后边的字典会将前边没有的值添加,有则覆盖setdeafult()只能添加

1.字典名[key]=new_value

dic = {'a': 1, 'b': 2, 'c': 3}
dic['d'] = 4
print(dic)

dic['a'] = 'hello'
print(dic)

结果: 在这里插入图片描述

2.覆盖或者添加update()

dic1 = {'a': 1, 'b': 2, 'c': 3}
dic2={'a':'xxx','d':'zzzz'}
dic1.update(dic2) # dic1和dic2都有的key,dic1会覆盖dic2,没有的则添加至里面
print(dic1)

结果: 在这里插入图片描述

3.只能添加的函数setdeafult()

dic = {'a': 1, 'b': 2, 'c': 3}
dic.setdefault('a',4) # 只能添加,如果原来有同key的,不会改变
print(dic)

dic.setdefault('d',6)
print(dic)

结果: 在这里插入图片描述

3.字典的使用-删除 方法注意clear()清空列表del可以删除指定数据,也可以删除整个字典popitem()随机弹出一个,储存为元组,删除原来字典中的一个pop()字典是无序的,所以必须写key

pop()

dic = {'a': 1, 'b': 2, 'c': 3}
b = dic.pop('a')  # 因为字典是无序的,所以必须写key
print(b)
print(dic)

在这里插入图片描述 popitem()

dic = {'a': 1, 'b': 2, 'c': 3}
b=dic.popitem()#随机弹出一个,储存为元组,删除原来字典中的一个
print(b)
print(dic)

在这里插入图片描述 clear()

dic = {'a': 1, 'b': 2, 'c': 3}
dic.clear()#清空列表
print(dic)

在这里插入图片描述

del方法

dic = {'a': 1, 'b': 2, 'c': 3}
del dic['a']#也可以删除整个字典
print(dic)

在这里插入图片描述

4.字典的使用-遍历 提取函数提取keykeys(),储存为列表形式提取valuevalues(),储存为列表形式提取key和valueitems(),储存为列表套元组形式

1、提取key的keys()

dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.keys())
for k in dic.keys():
    print(k)

结果: 在这里插入图片描述

2、提取value的values()

dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.values())
for v in dic.values():
    print(v)

结果: 在这里插入图片描述

3、提取key和value的items()

dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.items())
for kv in dic.items():
    print(kv)
#-----------------------------------------------------------------
# 还可以分别复制给k,v
dic = {'a': 1, 'b': 2, 'c': 3}
for k, v in dic.items():
    print(k, v)

两种方式的结果: 在这里插入图片描述

5.查询key是否在字典中
dic = {'a': 1, 'b': 2, 'c': 3}
if 'a' in dic:
    print('a在字典dic中')
if 'd'not in dic:
    print('d不在字典dic中')
if 'a' in dic.keys():#效果同第一句话一样
    print('a在字典dic中')

结果: 在这里插入图片描述

6.集合的get方法
a={1:2,3:4}
print(a.get(1))
print(a.get(1,'0'))#查找到就返回自己的
print(a.get(5))#没查找到会返回none
print(a.get(5,'8'))#没查找到会返回自己写的指定值
7.字典的时间复杂度

在这里插入图片描述 注意

  • 字典查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
  • 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。不允许同一个键出现两次。键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样。
三、数据类型 :Set-集合 1.认识集合
  • 定义: 集合是不可重复的,无序的,不可改变的类型
  • 定义集合: a={1, 1, 1, 1, 1, 1, 3, 4, 2},创造空集合:b = set()
2.集合的使用-添加和更新 函数名作用add()添加函数,添加单个元素update()添加多个元素或者更新集合,如果有重复的元素会自动舍去,只保留一个

add()

a = {1, 1, 1, 1, 1, 1, 3, 4, 2}
a.add(9)  
print(a)

结果: 在这里插入图片描述

update()

s1 = {1, }
s2 = {1, 2, }
li = [1, 3]
tup = (1, 4)

s1.update(s2)
print(s1)
s1.update(li)
print(s1)
s1.update(tup)
print(s1)

结果: 在这里插入图片描述

3.集合的使用-集合的遍历
a = {1, 2, 3, 4}
for i in a:
    print(i)

结果: 在这里插入图片描述

4.集合的使用-删除 函数名作用pop()随机弹出一个元素,并返回这个元素remove()删除指定值clear()集合的清空del删除集合
a = {2, 1, 3, 4}
b = a.pop()  # pop()随机删除一个
print(b, a)

a.remove(3)  # remove删除写的值
print(a)

a.clear()  # 清空集合
print(a)

del a  # 删除集合

结果: 在这里插入图片描述

5.集合的使用-字典强制转换为集合

字典变集合,只保留key值

b = {'1': 'a', '2': 'b'}
a = set(b) # 会把字典的key存到集合
print(a)

结果: 在这里插入图片描述

集合的运算(交集,并集,补集,差集)

1、交集intersection()或者&

a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)
print(a.intersection(b))

结果: 在这里插入图片描述 2、反交集symmetric_difference()或者^

a = {1, 2, 3}
b = {2, 3, 4}
print(a.symmetric_difference(b))
print(a ^ b)

结果: 在这里插入图片描述

3、并集union()或者|

a={1,2,3}
b={2,3,4}
print(a|b)
print(a.union(b))

结果: 在这里插入图片描述

4、差集difference或者-

a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)
print(a.difference(b))

结果: 在这里插入图片描述

关注
打赏
1657102503
查看更多评论
立即登录/注册

微信扫码登录

0.0385s