#元组和列表很像,都是用来保存多个数据#使用一对小括号()来表示#元组和列表的区别,列表可变,元组是不可变的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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)