第1001次python入门——Day06

第1001次python入门——Day06,第1张

概述目录元组的使用字典的使用字典使用注意事项从字典里获取数据修改,新增和删除数据update方法的使用字典的遍历字典的练习字典的练习字典的练习元组的使用#元组和列表很像,都是用来保存多个数据#使用一对小括号()来表示#元组和列表的区别,列表可变,元组是不可变的words

目录元组的使用字典的使用字典使用注意事项从字典里获取数据修改,新增和删除数据update方法的使用字典的遍历字典的练习字典的练习字典的练习

元组的使用
#元组和列表很像,都是用来保存多个数据#使用一对小括号()来表示#元组和列表的区别,列表可变,元组是不可变的words = ['hello', 'yes', 'good', 'hi']  #列表,使用[]表示nums = (9, 4, 3, 1, 7, 6, 9) # 元组,使用()来表示# 和列表一样,也是一个有序的存储数据的容器#可以通过下标来获取元素print(nums[3])# nums[3] = 40  #元组是不可变数据类型,不能修改print(nums.index(7))print(nums.count(9))# 特殊情况:如何表示只有一个元素的元组,需要在后面加上 ',' 逗号#ages = (18)   # 这种书写方式,ages是一个整数ages = (18,)print(type(ages))# tuple 内置类# print(tuple(18))print(tuple('hello'))  # ('h', 'e', 'l', 'l', 'o')# 怎样把列表转换为元组?元组转换为列表?print(tuple(words))  # tuple List set都是这样用的print(List(nums))#元组也可以遍历for i in nums:    print(i)j = 0while j < len(nums):    print(nums[j])    j += 1
字典的使用
# 列表一般情况下可以存储任意数据类型,但是一般情况下,我们存储单一数据类型names = ['zhangsan', 'lisi', 'wnagwu']scores = [100, 98, 99, 97]#这个列表里面的每个元素到底代表的什么?#列表只能存储值,但是无法对值进行描述# person = ['zhangsan', 18, 98, 97, 95, 93, 180, 150]# 字典不仅能保存值,还能对值进行描述# 使用大括号来表示一个字典,不仅有值value,还有值key# 字典里的数据都是以键值对key-value的形式保留的# key和value之间使用冒号:来连接# 多个键值对之间使用逗号,来分割person = {'name': 'zhangsan',          'age': 18,          'math': 98,          'Cinese': 95,          'English': 95,          'PE': 93,          'height': 180,          'weight': 100          }
字典使用注意事项
person = {    'name': 'zhangsan',    'age': 18,    'height': 180,    'age': 20,    'isPass': True,  #可以是bool值    'hobbIEs': ['唱', '跳', '篮球', 'rap'], # 也可以是列表    4: 'good',  # key只能是不可变数据类型    ('yes', 'hello'): 100,    # ['ok', 'no']: 'hi'   #注意:key只能是不可变数据类型}# 1.字典里的key不允许重复,如果key重复,后一个key对应的值会覆盖前一个# 2.字典里的value可以是任意数据类型,但是key只能使用不可变数据类型,一般使用字符串print(person) # {'name': 'zhangsan', 'age': 20, 'height': 180}
从字典里获取数据
person = {'name': 'zhangsan', 'age': 18, 'x': 'y'}# 查找数据(字典的数据在保存时,是无序的,所以不能用下标来获取)print(person['name'])  #使用key获取到对应value# print(person['height'])  查找的key不存在会直接报错# 需求:获取一个不存在的key时,不报错,如果这个key不存在,使用默认值# 使用字典的get方法,如果key不存在,会默认返回None,而不报错# get方法只是设定默认值,不会往列表里面添加元素print(person.get('height'))  #None# 如果根据key获取不到value,使用给定的默认值print(person.get('gender', 'female'))  # femaleprint(person.get('name', 'lisi'))  # zhangsanprint(person)# x = 'age'# print(person[x])# print(person['x'])
修改,新增和删除数据
person = {'name': 'zhangsan', 'age': 18, 'addr': 'Beijing'}print(person['name'])# 直接使用key可以修改对应的valueperson['name'] = 'lisi'# 如果key存在,是修改对应的value;# 如果key在字典里不存在,会往字典里添加一个新的key-valueperson['gender'] = 'female'print(person)# 删除name对应的键值(非键值对)person.pop('name')print(person)#popitem删除一个元素,结果是被删除的这个元素组成的键值对result = person.popitem()print(result)print(person)del person['addr']print(person)person.clear()  # 用来清空一个字典print(person)   # {}
update方法的使用
# 列表可以使用extend方法将两个列表合并成一个列表nums1 = [1, 2, 3, 4, 5]nums2 = [6, 7, 8, 9]nums1.extend(nums2)print(nums1)words1 = ('hello', 'good')words2 = ('yes', 'ok')print(words1 + words2)  # ('hello', 'good', 'yes', 'ok')words1,words2都没有变person1 = {'name': 'zhangsan', 'age': 18}person2 = {'addr': 'Beijing', 'height': 180}person1.update(person2)print(person1)# print(person1 + person2) 注意:字典之间不支持加法运算
字典的遍历
person = {'name': 'zhangsan', 'age': 18, 'addr': 'Beijing'}# 特殊在列表和元组是单一的数据,但是字典的键值对的形式# 第一种遍历方式:直接for in 循环for x in person:   #for in循环获取的是key    print(x, '=', person[x])# 第二种方式:获取到所有的key,然后再遍历key, 根据key获取valueprint(person.keys())   # dict_keys(['name', 'age', 'height'])for k in person.keys():    print(k, '=', person[k])# 第三种方式:获取到所有value,只有值,没有keyfor v in person.values():    print(v)# 第四种方式:# print(person.items())   # dict_items([('name', 'zhangsan'), ('age', 18), ('addr', 'Beijing')])# for item in person.items():  # 列表里的元素是元组,把元组当做整体进行遍历#     print(item[0], '=', item[1])for k, v in person.items():    print(k, '=', v)
字典的练习
chars = ['p', 'a', 'b', 'x', 'd', 'p', 'a', 'm', 'q', 't', 'p', 'a', 't', 'c']char_count = {}  # 设置一个字典for char in chars:    if char in char_count:        print('字典里面已经有字符了%s' % char)        char_count[char] += 1    else:        char_count[char] = 1        print('字典里面没有这个字符%s' % char)print(char_count)char_count2 = {}for char in chars:    if char not in char_count2:        char_count2[char] = chars.count(char)print(char_count2)# print(words.count('a'))vs = char_count.values()# 取最大数可以使用内置函数maxmax_count = max(vs)for k, v in char_count.items():    if v == max_count:        print(k)
字典的练习
persons = [    {'name': 'zhangsan', 'age': 18},    {'name': 'lisi', 'age': 20},    {'name': 'wangwu', 'age': 19},    {'name': 'jerry', 'age': 21}]# 让用户输入姓名,如果姓名已经存在,提示用户;如果姓名不存在,继续输入年龄,存入到列表x = input('请输入您的姓名:')for person in persons:    # if name in person:  # in 运算符,如果直接用在字典上,是用来判断key是否存在,而不是value    if person['name'] == x:        print('您输入的名字存在')        breakelse:    print('名字不存在')    # 创建一个新的字典 new_person    new_person = {'name': x}    y = int(input('请输入你的年龄:'))    new_person['age'] = y    ##把这个新的数据存储到 persons 列表里面    persons.append(new_person)    print('用户添加成功')print(persons)
字典的练习
dict1 = {"a": 100, "b": 200, "c": 300}dict2 = {}# for k, v in dict1.items():#     dict2[v] = k# print(dict2)   #{100: 'a', 200: 'b', 300: 'c'}dict1 = {v: k for k, v in dict1.items()}   # 字典推导式print(dict1)   #{100: 'a', 200: 'b', 300: 'c'}#{100:"a", 200:"b", 300:"c"}
总结

以上是内存溢出为你收集整理的第1001次python入门——Day06全部内容,希望文章能够帮你解决第1001次python入门——Day06所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1188400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存