python-元组和字典的简单使用

一、元组的使用

用来保存多个数据。

元组和列表的区别:列表是可变的,而元组是不可变数据类型(不可增加、修改)。

1、元组的定义

nums = (1,4,6,2,3)   # 元组,使用()来表示

如果元组只有一个元素,怎么表示呢

ages = (18,)   # 要在最后面添加 , 

2、元组的方法

count(x) :元组中 x  元素出现的次数

例如:nums = (1,4,6,2,3,5,5,5)

nums.count(9) # 输出  3

index(x)方法:元组中 x  元素的下标位置(如果x是重复的,则输出第一个x的下标位置)

例如:nums = (1,4,6,2,3,5,5,5)

nums.count(4) # 输出  1

nums.count(5) # 输出  5

3、元组和列表的转换

直接使用tuple(转换对象)方法,tuple list set 都是这样使用的

(1)列表 --> 元组

nums = (1,4,6,2,3)

print(tuple(nums))   # 输出 [1,4,6,2,3]

(2)元组 --> 列表

words = ["yes","hello","hi"]

print(tuple(words))   # 输出 ("yes","hello","hi") 

二、字典的使用

永远以键值对的方式出现;

1、特点和使用

(1). 字典是无序的,键值对的存放顺序不影响字典。

例如 :

dict1={'A':'hello','B':'book','c':'cake'}  
dict2={'c':'cake','A':'hello','B':'book'} 
dict1==dict2

(2). 字典可以使用哪些数据类型

键:可以存放不可变对象,比如字符串,数组,元组;不能存放可变对象,如:列表、字典

值:可以存放任意对象

2、字典的增删改

(1). 增加和修改是一样的方式

 def dict_update_operate():
     dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'}
     # 新增一个键值对
     dict1['E'] = 'emo'
     print(dict1)  
     # 执行的结果:{'A': 'apple', 'B': 'book', 'C': 'cake', 'E': 'emo'}

     # 单独只修改字典中的一个值
     dict1['B'] = 'black'
     print(dict1)  
     # 执行的结果:{'A': 'apple', 'B': 'black', 'C': 'cake', 'E': 'emo'}

     # update()方法可以同时添加和修改多个值
     dict1.update({'A': 'angle', 'F': 'file'})
     print(dict1)   
     # 执行的结果:{'A': 'angle', 'B': 'black', 'C': 'cake', 'E': 'emo', 'F': 'file'}

(2)删除

def dict_del_operate():
    dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'}
    del dict1['A'], dict1['C']
    print(dict1)   
    # 执行的结果:{'B': 'book'}

(3)清空字典

def dict_empty_operate():
    dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'}
    print(id(dict1))   
    # 执行的结果:4433023168

    # clear()方法,清空元组,该元组地址还在
    dict1.clear()
    # 相当于重新生成了一个字典,地址已经换了

    dict1 = {}
    print(id(dict1))   
    # 执行的结果:4433026688   与原地址不一样了

(4)根据键来 判断是否存在 在字典中

# 根据键来 判断是否存在 在字典中: in ,not in
def dict_exist_operate():
    # 使用关键字:in ,not in
    dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'}
    print('B' in dict1)  # 执行的结果:True
    print('E' not in dict1)  # 执行的结果:True

(5)字典的遍历

# 遍历字典中的key,value
def dict_ergodic_operate():
    dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'}
    # 遍历key
    for key in dict1.keys():
        print(key)   
    # 执行的结果:A B C

    # 遍历value
    for value in dict1.values():
        print(value)   
    # 执行的结果:apple book cake

    # 遍历key 和 value
    for key, value in dict1.items():
        print("key:", key, "   value:", value)   
    # 执行的结果如下:
    # key: A value: apple
    # key: B value: book
    # key: C value: cake 

三、集合的使用

1、特点

集合是一种无序、可变的数据结构,只能包含不可变的元素,例如整数、浮点数、字符串和元组等。

2、集合的增删改

# 创建空集合
s = set()
# 创建含有元素的集合
s = {1, 2, 3, 4}

# 新增一个元素
s.add(5)  
# 添加多个元素
s.update([6, 7, 8])  

# 移除一个元素,如果元素不存在会报错
s.remove(1)  
# 移除一个元素,如果元素不存在不会报错
s.discard(2)  
# 随机移除一个元素,并返回这个元素
s.pop()  
# 清空集合
s.clear()  
# 删除集合
del s  

3、集合的排序

sort()方法 # 永久排序

list.sort(reverse=True)  # 倒序排

sorted(list)  # 临时排序

sorted(list,reverse=True)  # 临时倒序排序

4、集合操作

t = {3, 4, 5, 6}
 
s.union(t)  # 并集
s | t  # 并集
 
s.intersection(t)  # 交集
s & t  # 交集
 
s.difference(t)  # 差集
s - t  # 差集
 
s.symmetric_difference(t)  # 对称差集
s ^ t  # 对称差集
 
s.issubset(t)  # 判断是否是子集
s <= t  # 判断是否是子集
 
s.issuperset(t)  # 判断是否是超集
s >= t  # 判断是否是超集
 
s != t  # 判断是否不等

5、集合的可变性

f = frozenset([1, 2, 3, 4])  # 创建一个不可变集合
  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值