python学习笔记(二)——散列类型(字典、集合)

目录

集合

无序(元素位置不固定)、唯一(相每个元素唯一)、可变类型(元素可变)。

set 函数方法 注释
add 将元素添加到集合中。
pop 删除并返回任意set元素。
remove 从集合中删除一个元素; 它必须是成员。
update 用本身和其他元素的并集更新集合

1、定义:

#方法一 直接赋值
>>> set1 = {
    
    1,2,3,4}
>>> type(set1)
<class 'set'>
>>> set1
{
    
    1, 2, 3, 4}

#方法二 s=set()赋值set()
>>> set2 = set()
>>> type(set2)
<class 'set'>

2、增

#方法一  .add() 每次只能添加一个元素
>>> set2.add(1)
>>> set2
{
    
    1}

#方法二 .update([元素1,元素2···])  可以同时添加多个元素
>>> set2.update([2,3,4])
>>> set2
{
    
    1, 2, 3, 4}

3、删

#方法一 .pop() 随机删除
>>> set1
{
    
    1, 2, 3, 4, 5}
>>> set1.pop()
1 
>>> set1
{
    
    2, 3, 4, 5}

#方法二 .remove(元素) 指定元素删除
>>> set1
{
    
    2, 3, 4, 5}
>>> set1.remove(5)
>>> set1
{
    
    2, 3, 4}

#方法三 .clear()清空集合
>>> set1
{
    
    2, 3, 4}
>>> set1.clear()
>>> set1
set()

4、改:集合不能修改指定元素,可以先用remove删除指定元素,然后再添加
5、集合运算

运算符操作 python运算符
交集 &
并集
差集 -
set1 = {
    
    1,2.5,True,complex(2,3)}
set2 = {
    
    3,3.4,True,complex(1,3)}
print('集合1:',set1)
print('集合2:',set2)
print('交集:',set1&set2)
print('并集:',set1|set2)
print('差集set1-set2:',set1-set2)
print('差集set2-set1:',set2-set1)

结果:
集合1: {
    
    1, 2.5, (2+3j)}
集合2: {
    
    3.4, True, (1+3j), 3}
交集: {
    
    1}
并集: {
    
    1, 2.5, 3.4, 3, (1+3j), (2+3j)}
差集set1-set2: {
    
    2.5, (2+3j)}
差集set2-set1: {
    
    3, (1+3j), 3.4}

在这里插入图片描述

字典

注意:字典的key值唯一(不能重复),但值可以不唯一

dict 函数方法 注释
setdefault 有则查,无则增
update 有则改,无则增
pop 查出指定key的键值对
popitem 返回并删除字典中的最后一对键和值
get 获取指定key 对应的value,如果key不存在放回none
keys 取出所有的key
values 取出所有的值
items 取出所有的键值对

1、定义:

#方法一 di = {key:value}键值对形式
>>> dict={
    
    'name':'zhangsan','age':'18'}
>>> dict
{
    
    'name': 'zhangsan', 'age': '18'}

#方法二 di = {}   直接赋值创建
>>> dict2={
    
    }
>>> type(dict2)
<class 'dict'>

2、增

#方法一  di[key] = value  di是自己定义的变量名,没有对应的key时为增,有的时候是改
>>> dict2['name']='lisi'
>>> dict2
{
    
    'name': 'lisi'}

#方法二 .setdefault(key,value)  有则查,无则增
>>> dict2
{
    
    'name': 'lisi'}
>>> dict2.setdefault('name','lisi')  #name存在,查找name对应值
'lisi'
>>> dict2.setdefault('age','14') #age不存在,添加
'14'
>>> dict2
{
    
    'name': 'lisi', 'age': '14'}

3、删

#方法一  .pop(key)  删除指定的值
>>> dict2
{
    
    'name': 'lisi', 'age': '14'}
>>> dict2.pop('age')
'14'
>>> dict2
{
    
    'name': 'lisi'}

#方法二 .popitem() 删除字典最后一对键值对
>>> dict2
{
    
    'name': 'lisi', 'age': '14', 'from': 'hujian'}
>>> dict2.popitem()
('from', 'hujian')
>>> dict2
{
    
    'name': 'lisi', 'age': '14'}

#方法三  .clear() 清空字典
>>> dict2
{
    
    'name': 'lisi', 'age': '14'}
>>> dict2.clear()
>>> dict2
{
    
    }

4、改

#方法一 .update ({key:value})  有则改,无则添加
>>> dict
{
    
    'name': 'zhangsan', 'age': '20'}
>>> dict.update({
    
    'age':'18'})  #age存在,修改age的value
>>> dict
{
    
    'name': 'zhangsan', 'age': '18'}
>>> dict.update({
    
    'high':'178'})  #high不存在,添加high
>>> dict
{
    
    'name': 'zhangsan', 'age': '18', 'high': '178'}

5、查

#方法一 .[key]  查找显示所有的key值
>>> dict
{
    
    'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.keys()
dict_keys(['name', 'age', 'high'])

#方法二 .get(key) 获取指定key对应的value
>>> dict
{
    
    'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.get('name')
'zhangsan'

#方法三 .values()  查找显示所有的value值
>>> dict
{
    
    'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.values()
dict_values(['zhangsan', '18', '178'])

#方法四 .items()  显示所有键值对
>>> dict
{
    
    'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.items()
dict_items([('name', 'zhangsan'), ('age', '18'), ('high', '178')])

猜你喜欢

转载自blog.csdn.net/qq_46485161/article/details/115146064