9月23日学习总结

9月23日学习总结

一、元组

1.元组的定义

1.元组是容器型数据(序列),将()作为容器的标志里面多个元素用逗号隔开:(元素1,元素2,…)

2.元组不可变(不支持增删改);元组是有序的(支持下标操作)

3.元素:任何类型的数据

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

t2 = (10, 'abc', False, [10, 230])
print(t2)

t3 = ()  # 空元组
print(t3, type(t3))

# (10, 20, 30) <class 'tuple'>
# (10, 'abc', False, [10, 230])
# () <class 'tuple'>

2.元组就是不可变的列表

1.列表中除了和增删改相关操作意外的操作,元素都支持

例如:查、相关操作、相关方法(除了增删改相关的)、相关函数

# 判断一个数据是否是某种类型中的一种
num = 23
t_num = type(num)
if t_num == int or t_num == float or t_num == str:
    print('是数字或者字符串')

if t_num in (int, float, str):
    print('是数字或者字符串')

3.元组特殊或者常用的操作

1.只有一个元素的元组:(元素,)

list1 = [10]
print(list1, type(list1))

t1 = (10,)
print(t1, type(t1))
# [10] <class 'list'>
# (10,) <class 'tuple'>

2.元组在没有歧义的情况下可以省略()。直接用逗号将多个数据隔开,表示的也是一个元组

t2 = 10, 20, 30, 40, 50
print(t2, type(t2))
# (10, 20, 30, 40, 50) <class 'tuple'>

3.同时使用多个变量获取元组的元素(列表也支持)

t3 = ('小明', 18, 90)
print(t3[0])

a. 让变量的个数和元组中元素个数保持一致

t3 = ('小明', 18, 90)
name, age, score = t3
print(name, age, score)

point = (100, 200)
x, y = point
print(x, y)

b. 让变量的个数小于元组元素的个数,但是必须在某一个变量前加*

先让不代 * 的变量按照位置获取元素,剩下部分全部保存到带 * 的变量对应的列表中

t3 = ('小明', 18, 170, 80, 99, 80, 76)
x, y, *z = t3
print(x, y, z)     # 小明 18 [170, 80, 99, 80, 76]

x, *y, z = t3      # 小明 [18, 170, 80, 99, 80] 76
print(x, y, z)

*x, y, z = t3      # ['小明', 18, 170, 80, 99] 80 76
print(x, y, z)

x, *y, z, t = t3
print(z)     # 80
print(y)     # [18, 170, 80, 99]

二、字典

1.什么是字典

字典是容器型数据类型(序列),将{}作为容器的标志,里面多个键值对用逗号隔开:{键1:值1,键2:值2,键3:值3,…}

键值对:键:值

2.字典是可变的(支持增删改);字典是无序的(不支持下标操作)

3.元素 - 键值对

键 - 必须是不可变的数据,例如:元组,数字,字符串。键是唯一的。

值(才是真正想要保存的数据) - 没有要求

# 1)空字典
dict1 = {}
print(dict1, type(dict1))

# 2) 键是不可变的数据
dict2 ={'a': 10, 1: 20, (1, 2): 30}
print(dict2)

# dict2 ={'a': 10, 1: 20, [1, 2]: 30}
# print(dict2)     # 报错!

# 3)键是唯一的
dict3 = {'a': 10, 1: 20, 'a': 30}
print(dict3)      # {'a': 30, 1: 20}

三、获取字典的值

1.查单个

1.字典[键] - 获取字典中指定键对应的值,当键不存在的时候会报错

2.字典.get(键)==字典.get(键,None) - 获取字典中对应的值;当键不存在不会报错,返回None

3.字典.get(键,默认值) - 获取字典中对应的值;当键不存在不会报错,返回默认值

dog = {'name': '小黑', 'breed': '哈士奇', 'age': 3, 'color': '黑色'}
print(dog['breed'])
print(dog.get('name'))

# print(dog['gender'])         # 报错
print(dog.get('gender'))       # None

student = {'name': '小明', 'age': 18, 'gender': '男'}
print(student['age'])
print(student.get('name'))
print(student.get('contacts', '110'))

# 哈士奇
# 小黑
# None
# 18
# 小明
# 110

2.遍历

# for 变量 in 字典:
# 循环体
#
# 注意: 变量取到的是键

dog = {'name': '小黑', 'breed': '哈士奇', 'age': 3, 'color': '黑色'}
for x in dog:
    print(x, dog[x])
# 练习:用一个字典保存一个班级信息
class1 = {
    'name': 'Python2106',
    'address': '9教',
    'lecturer': {
        'name': '余婷',
        'age': 18,
        'tel': '13678192302',
        'QQ': '726550822'
    },
    'head_teacher': {
        'name': '张瑞燕',
        'tel': '110',
        'QQ': '7283211'
    },
    'students': [
        {
            'name': '陈来',
            'age': 20,
            'gender': '女',
            'score': 98,
            'contacts': {
                'name': 'p2',
                'tel': '120'
            }
        },
        {
            'name': '葛奕磊',
            'age': 25,
            'gender': '男',
            'score': 80,
            'contacts': {
                'name': 'p1',
                'tel': '119'
            }
        }
    ]
}

# 1. 获取班级的名字
print(class1['name'])

# 2. 获取讲师的名字和年龄
print(class1['lecturer']['name'], class1['lecturer']['age'])

# 3. 获取班主任的名字和电话
print(class1['head_teacher']['name'], class1['head_teacher']['tel'])

# 4. 获取第一个学生的姓名
print(class1['students'][0]['name'])

# 5. 获取所有学生的联系人的名字
for x in class1['students']:
    print(x['contacts']['name'])

# 6. 计算所有学生的平均分
scores = []
for x in class1['students']:
    print(x['score'])
    scores.append(x['score'])
print('平均分是:', sum(scores) / len(scores))

四、字典的增删改

1.增 - 添加键值对

2.改 - 修改键对应的值

语法:字典[键] = 值 - 当键存在的时候是修改,键不存在就是增加

goods = {'name': '泡面', 'price': 3.5}
print(goods)

goods['count'] = 10
print(goods)

goods['price'] = 4
print(goods)


# {'name': '泡面', 'price': 3.5}
# {'name': '泡面', 'price': 3.5, 'count': 10}
# {'name': '泡面', 'price': 4, 'count': 10}

3.删

(1)del 字典[键] - 删除字典中指定键对应的键值对

goods = {'name': '泡面', 'price': 4, 'count': 10}
del goods['price']
print(goods)
# {'name': '泡面', 'count': 10}

(2)字典.pop(键) - 取出字典中指定键对应值

goods = {'name': '泡面', 'price': 4, 'count': 10}
result = goods.pop('price')
print(goods)    # {'name': '泡面', 'count': 10}
print(result)   # 4
# {'name': '泡面', 'count': 10}
# 4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值