Python第八天元组&字典&集合

106 阅读5分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

元组

目标

  • 元组的应用场景
  • 定义元组
  • 元组常见的操作

元组的应用场景

元组可以存储大量的数据,但是元组存储数据,他是不能修改的,而列表是可以修改的

元组数据类型的基础格式

元组是用括号表示的

a=(10,20,30)
print(a)

输出

(10, 20, 30)

输出类型

a=(10,20,30)
print(type(a))

type是判断类型

输出结果为

<class 'tuple'>

定义元组

元组的特点:定义元组使用的是小括号,且逗号隔开各个数据,数据可以使用不同数据类型

#多元组
a=(10,20,30)
#单元组,后面必须加逗号
b=(10,)

元组的常见操作

元组数据是不支持修改的,他只支持查找

查找数据

a=('aa','bb','cc')
print(a[0])

输出aa

a=('aa','bb','cc')
print(a.index('aa'))

输出0

a=('aa','bb','cc')
print(a.count('aa'))

输出是1

count()函数是统计这个元组数据出现的次数为一次

a=('aa','bb','cc')
print(len(a))

输出3

len是查找元组中数据的个数

元组不能改嵌套可以改

a=('aa','bb','cc',['11','22'])
a[3][0]='666'
print(a)

在我们元组里面嵌套一个列表

就可以修改列表里面数据

但是元组的不能修改

输出为

('aa', 'bb', 'cc', ['666', '22'])

总结

定义元组

#多元组
a=(10,20,30)
#单元组,后面必须有逗号
b=(10,)

常用操作

  • index()查找
  • len()统计个数

字典

目标

  • 字典应用场景
  • 创建字典的方法
  • 字典的常用操作
  • 字典的循环遍历

字典的应用场景

字典数据和数据顺序没有任何关系,也就是字典不支持下标,字典里面的数据是以键值形式出现的,后期数据不管怎么变化,只需要按照对应的键值名字查找数据就可以了,应用到的场景无非也是存储数据

创建字典的方法

传统
a={'name':'老6','age':'6'}
print(a)

输出

{'name': '老6', 'age': '6'}
动态分配键值
d={}
d['name']='Allen'
d['age']=21
d['gender']='male'
print(d)
{'age': 21, 'name': 'Allen', 'gender': 'male'}

输出

{'name': 'Allen', 'age': 21, 'gender': 'male'}

字典场景操作

语法

字典序列[key]=值
a={'name':'老6','age':'6'}
#当我们age这键值存在他就会去修改,如果不存在就会新增
a['age']='8'
print(a)

输出

{'name': '老6', 'age': '8'}
del()函数
a={'name':'老6','age':'6'}
del(a['age'])
print(a)

此操作是删除了age键值对

输出为

{'name': '老6'}
clear() 清空字典函数
a={'name':'老6','age':'6'}
a.clear()
print(a)

输出一个{}

说明字典数据被清空

a={'name':'老6','age':'6'}
a['age']='8'
print(a)

输出

{'name': '老6', 'age': '8'}
key值查找
a={'name':'老6','age':'6'}
print(a['name'])

通过我们的键值去查找

输出为

老6

就是name键值对应数据是老6

get() 函数查找
a={'name':'老6','age':'6'}
print(a.get('name'))

输出也是老6

对比那个更好用还是键值的那个好用

keys() 值输出键
a={'name':'老6','age':'6'}
print(a.keys())

输出

dict_keys(['name', 'age'])
values只输出值
a={'name':'老6','age':'6'}
print(a.values())

输出

dict_values(['老6', '6'])
items() 元组键值对
a={'name':'老6','age':'6'}
print(a.items())

输出

dict_items([('name', '老6'), ('age', '6')])

字典循环遍历

遍历字典的key
a={'name':'老6','age':'6'}
for key in a.keys():
    print(key) 

输出

name
age
遍历字典values
a={'name':'老6','age':'6'}
for values in a.values():
    print(values) 

输出

老6
6
​
遍历字典的元素 items
a={'name':'老6','age':'6'}
for items in a.items():
    print(items) 

输出

('name', '老6')
('age', '6')
​
遍历字典的键值对 key value items
a={'name':'老6','age':'6'}
for key,value in a.items():
    print(f'{key}={value}') 

输出

name=老6
age=6

总结

  • 定义字典

    a={'name':'老6','age':'6'}
    
  • 场景操作

    增、改

  • 字典序列[key]
    keys()
    values()
    items()
    

集合

目标

  • 创建集合
  • 集合数据的特点
  • 集合的常见操作

创建集合

集合的创建课使用{}也可以使用set() 但是如果要创建空集合就必须用set() ,因为{}用来创建空字典

有数据集合
a={10,20,30}
print(a)
空数据集合
a=set('')
print(a)

输出ser('')

当里面有数据

a=set('abc')
print(a)

输出

{'n', 'c', 'a'}

set就会自动去掉

集合的常见操作方法

用到了两种函数

add()
a={10,20,30}
a.add(40)
print(a)

输出

{40, 10, 20, 30}
upadte()
a={10,20,30}
a.update([40,50,60,70,80,90])
print(a)

updae()函数的话他只支持追加序列

不资产追加单个数据

输出

{70, 40, 10, 80, 50, 20, 90, 60, 30}
remove() 删除集合中的指定的数据,如果数据不存在则报错
a={10,20,30}
​
a.remove(30)
print(a)

输出

{10, 20}
discard() 删除集合中的中指定数据,如果数据不存在也不会报错
a={10,20,30}
​
a.discard(30)
print(a)

输出

{10, 20}

不报错

a={10,20,30}
​
a.discard(300)
print(a)

输出

不报错的话就输出原本的东西

{10, 20, 30}
pop() 随机删除集合中的某个数据,并返回这个数据
a={10,20,30}
​
b=a.pop()
print(b)
print(a)

输出

#这是他要删除的数据
10
#这是删除数据后的结果
{20, 30}
in :判断数据在集合序列
​
not in :判断数据不在集合序列
a={10,20,30}
print(10 in a)
print(10 not in n)

输出

True
True

总结

  • 创建集合

    有数据的s={10,20}

    无数据的s=set('')

  • 常见操作

    add()

    update()

    remove()

    discard()

    \