python从基础到入门——Day5

#学习笔记

#每日练习

学习笔记

# 知识点3.元组
# 元组的应用场景
# 定义元组
# 元组常见操作


# 如果想要存储多个数据,但是这些数据是不能修改的修改,怎么做?
# 元组
# 特点:定义元组使用小括号,且逗号隔开各个数据,数据可以说不同的数据类型
# 体验元组
# 1.多个数据元组
# t1 = (10,20,30)
# print(t1)
# print(type(t1))
# 2.单个数据元组

# t2 = (10,)
# print(t2)
# print(type(t2))

# 3.如果单个数据的元素,不加逗号
# 注意;元组中,如果只有一个元素,需要加逗号,否则,数据类型为唯一的这个数据的数据类型
# t3 = (10)
# print(t3)
# print(type(t3))
#
# t4 = ('aaaa')
# print(t4)
# print(type(t4))
#
# t5 = ('aaa',)
# print(t5)
# print(type(t5))

 

# 元组的常见操作
# 元组数据不支持修改,只支持查找
t1 = ('aa','bb','cc','dd')
# 1.下标
print(t1[0])

# 2.index()  有则返回下标,没有则报错
print(t1.index('bb'))
# print(t1.index('bbb'))

# 3.count() 统计元素出现的次数
print(t1.count('bb'))

# 4.len() 统计元组中数据的个数
print(len(t1))

# 元组数据的修改操作
t1 = ('aa','bb','cc','bb')
# 元组内的直接数据,如果修改则立即报错
# t1[0] = 'aaa'
# print(t1)
# for i in t1:
#     print(i)

# 如果元组里面有列表。修改列表数据则支持
t1 = ('aa','bb',['cc','dd'],'bb')
print(t1[2])
print(t1[2][0])
t1[2][0] = 'longwu'
print(t1)
print(t1[0])
# t1[0] = 'jerry'  报错
# print(t1)

# 元组总结:
# 定义元组
# 常用操作方法
# 修改的注意事项

 

# 字典
# 字典的应用场景
# 如果:有多个数据,例如:'name','男',20,如何快速存储
list1 = ['zhangsan','男',20]
print(list1)
list1[0]
list1 = ['男','zhangsan',20]
list1[1]
# 如何保证数据顺序变化前后能使用同一的标准查找数据?
# ——》字典   键值对
# 字典数据和数据顺序没有关系,字典可以不考虑下标,按照对应的键的名字查找数据即可

 

# 创建字典的语法
# 字典的特点:符号为大括号,数据为键值对,各个键值对之间用逗号隔开
# {} 键值对 , 冒号前面为键key(k),冒号后面位置value(v)
# 一、创建字典
# 1.有数据的字典:name的值是zhangsan,age为20,gender为男
# dict1 = {'name':'zhangsan','age':20,'gender':'男'}
# print(dict1)
# print(type(dict1))
# # 2.创建空字典
# dict2 = {}
# print(type(dict2))
# dict3 = dict()
# print(type(dict3))

# 字典常见操作
# 常见操作:增 如果key存在,则修改,如果key不存在,则添加
# 字典:字典为可变类型
# 写法:字典序列[key] = 值
dict1 = {'name':'zhangsan','age':20,'gender':'男'}
dict1['id'] = 110
print(dict1)
dict1['name'] = 'lisi'
print(dict1)

# 常见操作:删除
# dict1 = {'name':'zhangsan','age':20,'gender':'男'}
# del 删除字典或指定的键值对
# del(dict1)
# print(dict1)

# del dict1['name']
# del dict1['names']  报错:KeyError: 'names'
# print(dict1)

# clear() 清空字典
# dict1.clear()
# print(dict1)

# 常见操作:改
# dict1 = {'name':'zhangsan','age':20,'gender':'男'}
# dict1['name'] = 'zhaosi'
# print(dict1)
#
# dict1['id'] = 110
# print(dict1)

# 常见操作:查
dict1 = {'name':'zhangsan','age':20,'gender':'男'}
# 1.[key]
# key存在 返回对应的值
# print(dict1['name'])
# print(dict1['names']) 报错

# 2.函数  get() 字典序列.get(key,默认值)
print(dict1.get('name'))
print(dict1.get('names'))
# 当前查找的key不存在则返回第二参数默认值,如果省略第二参数,则返回None
# 建议不用
# print(dict1.get('name','zhangsan'))


# 3.keys() 查找字典中所有的key
print(dict1.keys())

# 4.values() 查找字典中的所有value
print(dict1.values())

# 5.items() 查找字典中所有的键值对,里面的数据是元组,元组数据2是字典的key
# 元组数据2是字典的key对应的值
print(dict1.items())

# 字典的循环遍历
# 1.遍历字典中所有的key
# dict1 = {'name':'zhangsan','age':20,'gender':'男'}
# for key in dict1.keys():
#     print(key)

# 2.遍历字典中所有的value
# dict1 = {'name':'zhangsan','age':20,'gender':'男'}
# for value in dict1.values():
#     print(value)

# 3.遍历字典中所有的键值对
dict1 = {'name':'zhangsan','age':20,'gender':'男'}
for key,value in dict1.items():
    # print(key)
    # print(value)
    print(f'{key}={value}')

# 4.遍历字典中所有的键值对————》拆包
# xx.items():内部是元组,元组有两个数据,拆包
# 元组数据1是字典的key,元组数据2是字典的key对应的值
dict1 = {'name':'zhangsan','age':20,'gender':'男'}
for key,value in dict1.items():
    # print(key)
    # print(value)
    print(f'{key}={value}')

# 总结:
# 定义字典
# 常见操作:增,改
# 查找 keys values items
# 字典的循环遍历

每日练习

 

# 1.元组元素求和b=(1,2,3,4,5,6,7,8,9)
# b=(1,2,3,4,5,6,7,8,9)
# sum = 0
# for i in b:
#     sum += i
# print(sum)

# 2. 输出元组内7的倍数及个位为7的数,元组为 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
# a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
# list1 =[]
# for i in a:
#     if i % 7 == 0 or i % 10 == 7:
#         list1.append(i)
# print(list1)

# 3. 列表倒数 a=[123,4567,12,3456] 输出 a = [321, 7654, 21, 6543]
# a = [123, 4567, 12, 3456]
# new_list = []
# for i in a:
#     str1 = int(str(i)[::-1])
#     new_list.append(str1)
# print(new_list)

# 4. 统计数字,字母,下划线个数 比如:a = '123456abcdaABCDEKO_'
# a = '123456abcdaABCDEKO_'
# digit = 0
# alpha = 0
# num_of__ = 0
# for i in a:
#     if i.isdigit():
#         digit += 1
#     if i.isalpha():
#         alpha += 1
#     if i == '_':
#         num_of__ += 1
# print(f'数字的个数为:{digit}')
# print(f'字母的个数为:{alpha}')
# print(f'下划线的个数为:{num_of__}')

# 题目1
# 题干
# 有一个空字典dict1 = {},请给他添加一个为name:python的键值对

# dict1 = {}
# dict1['name'] = 'python'
# print(dict1)

# 题目2
# 题干
# 现有字典dict1 = {'name':'python'},将键为'name'的值更改为'zhangsan'

# dict1 = {'name':'python'}
# dict1['name'] = 'zhangsan'
# print(dict1)

# 题目3
# 题干
# 现有字典dict1 = {'name':'zhangsan','age':18} 要求:1.删除age:18这个键值对 2.将整个字典里面的所有键值对,清空

# dict1 = {'name':'zhangsan','age':18}
# del dict1['age']
# print(dict1)
# dict1.clear()
# print(dict1)

# 题目4
# 题干
# 现有字典dict1 = {'name':zhangsan,'age':18}
# 要求:
# 1.使用循环将字典中所有的键输出到屏幕上
# 2.    使用循环将字典中所有的键输出到屏幕上
# 3.使用循环将字典中所有的键值对输出到屏幕上 输出方式: name:zhangsan age:18

dict1 = {'name':'zhangsan','age':18}
for key in dict1.keys():
    print(key)
for value in dict1.values():
    print(value)
for item in dict1.items():
    print(item)
  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值