自学Python所记(七)

十二、元组

元组:tuple,元组的特点和列表非常相似
1.元组中可以存放任意类型的数据
2.元组中可以存放任意多个数据

区别:
1.元组中的数据内容不能被修改,列表中的可以改变
2.元组使用(),列表使用[]

应用:在函数传参或返回值中使用,保证数据不会被修改

12.1、定义

使用 类实例化的方式

直接使用()方式

# 1 类实例化的方式
# 1.1 定义空元组(不会使用)
tuple1 = tuple()
print(type(tuple1),tuple1)  # <class 'tuple'> ()

# 1.2 类型转换
# 可以将列表转换为元组,只需要将[],变为(),同时可以将元组转换为列表,将()变为[]
tuple2 = tuple([1,2,3])
print(type(tuple2),tuple2)   # <class 'tuple'> (1, 2, 3)
#  转换字符串,和列表一样,只是将列表的[]变为()
tuple3 = tuple('hello')
print(type(tuple3),tuple3)   # <class 'tuple'> ('h', 'e', 'l', 'l', 'o')

# 2 直接使用()定义
tuple4 = (1,'赛季开始时',3.55,False)
print(tuple4)


# 3 特殊点,定义只有一个元组时,数据后边必须有一个逗号
tuple5 = (1,)
print(tuple5)

12.2、常用方法

由于元组中数据不能修改,所以只有查看的方法

1.元组中可以使用 下标和切片获取数据

2.在元组中存在 index 方法,查找下标,不存在会报错

3.在元组中存在count 方法

4.在元组中可以使用 in 操作

以上方法的使用 和列表中使用一样

十三、字典

1.字典dict,字典中的数据是由键(key)值(value)对组成的(键表示数据的名字,值就是具体的数据)

2.在字典中一组键值对是一个数据,多个键值对之间使用逗号隔开

变量 = {key: value,key: value,…}

3.一个字典中的键是不能重复的,值是可以重复的

4.字典中的键 一般都是字符串,可以是数字,不能是列表

13.1、字典的定义

# 1. 使用类实例化的方法
dict1 = dict()
print(type(dict1), dict1)  # <class 'dict'> {}

# dict()不能转列表和元组,字符串


# 2.直接使用{}定义
# 2.1空字典
dict1 = {}
print(type(dict1), dict1)  # <class 'dict'> {}

# 2.2 非空字典,小明(‘name') 18('age') 1.85('height') True(is_men) 吃 喝(’like')
dict2 = {'name': '小明', 'age': 18, 'height': 1.85, 'is_men': True, 'like': ['吃', '喝']}

print(dict2)     
# {'name': '小明', 'age': 18, 'height': 1.85, 'is_men': True, 'like': ['吃', '喝']}
print(len(dict2))  # 5

13.2、增加和修改操作

语法:

字典[键] = 数据值

1.如果键已经存在,就是修改数据值

2.如果键不存在,就是添加数据(即添加键值对)

# 定义字典 小明 18 爱好
dict = {'name': '小明', 'age': 18, "like": ['吃', "喝"]}
print(dict)  # {'name': '小明', 'age': 18, 'like': ['吃', '喝']}

# 1.添加性别信息 sex
dict['sex'] = '男'
print(dict)  # {'name': '小明', 'age': 18, 'like': ['吃', '喝'], 'sex': '男'}

# 2.修改年龄为19
dict['age'] = 19
print(dict)  # {'name': '小明', 'age': 19, 'like': ['吃', '喝'], 'sex': '男'}

# 3.添加一个爱好,学习 --->本质是向列表添加一个数据
dict['like'].append('学习')
print(dict)  # {'name': '小明', 'age': 19, 'like': ['吃', '喝', '学习'], 'sex': '男'}

13.3、删除

  • 删除指定的键值对

    del 字典[键]
    字典.pop('键')
    
  • 清空

    字典.clear()
    
dict = {'name': '小明', 'age': 19, 'like': ['吃', '喝', '学习'], 'sex': '男'}

# 删除 sex 键值对
del dict['sex']
print(dict)  # {'name': '小明', 'age': 19, 'like': ['吃', '喝', '学习']}

# 字典.pop('键‘)
dict.pop('age')
print(dict)  # {'name': '小明', 'like': ['吃', '喝', '学习']}

# 删除抽烟的爱好
dict['like'].remove('喝')
print(dict)  # {'name': '小明', 'like': ['吃', '学习']}

# 清空键值对
dict.clear()
print(dict)  # {}

13.4、查询 —根据键获取对应的值

字典中没有下标的概念,想要获取数据值,要使用key(键)来获取

  • 使用它字典[键]

    字典[键 ]
    
    1.如果键存在 返回键对饮通过的数据值
    
    2.如果键不存在,会报错
    
  • 使用字典.get(键)

    字典.get(键,数据值)
    
    1.数据值一般不写,默认是None
    
    返回:
    
    1.如果键存在 返回对应的数据值
    2.如果键不存在,返回的是 括号中书写的数据值
    
    一般建议使用get
    
dict = {'name': '小明', 'age': 19, 'like': ['吃', '喝', '学习']}

# 1 获取名字
print(dict['name'])  # 小明
print(dict.get('name'))  # 小明

# 2.获取sex性别
# print(dict['sex'])  #代码会报错,原因key不存在
print(dict.get('sex'))  # None
print(dict.get('sex', '苞米'))  # 苞米  # 返回数据值

# 3.获取 第二个爱好
print(dict['like'][1])  # 喝
print(dict.get('like')[1])  # 喝

13.5、字典的遍历

  • 对字典的键 进行遍历
for 变量 in 字典:
     print(变量) # 变量就是字典的key,键
    
for 变量 in 字典.keys():  # 字典。keys() 可以获取字典中所有的键
    print(变量)

  • 对 字典的值 进行遍历
for 变量 in 字典.values():  # 字典.value() 可以获取字典中所有的值
    print(变量)
  • 对 字典的键值对 进行遍历
# 变量1 就是 键,变量2 
for 变量1,变量2 in 字典.items():  # 字典.items() 获取键值对
    print(变量1,变量2)
# 定义字典
dict = {'name':'小明','age':18,'sex':'男'}

# 1.遍历字典的键
for i in dict:
    print(i)  #name age sex
for i in dict.keys():
    print(i)

print('—'*15)

# 2.遍历字典的值
for m in dict.values():
    print(m)  #小明 18 男

print('_'*15)


# 3.遍历键值
for i,m in dict.items():
    print(i,m)  # name 小明      age 18   sex 男


容器部分总结

# 1.字符串,列表,元组 支持加法运算

str1 = 'hello' +'world'  #'hello world'

list1 = [1,2] +[3,4]   # [1,2,3,4]

tuple1 = (1,2) + (3,4)  # (1,2,3,4)

# 2.字符串,列表,元组支持乘一个数字

'hello' * 3 #'hello hello hello'

[1,2] * 3  #[1,2,1,2,1,2]

(1,2) * 3  # (1,2,1,2,1,2)

# 3.len() 在容器中都可以使用

# 4.in关键字在容器中都可以使用,注意,在字典中判断的是字典的键是否存在



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值