元组的使用
元组和列表一样,都是用来保存多个数据。使用一对小括号()来表示一个元组,元组和列表的区别在于,列表是可变的,而元组是不可变数据类型。
和列表一样,也是一个有序的存储数据的容器;可以通过下标来获取元素。
words = ['hello','yes','good','hi'] #列表
nums = (9,4,3,1,9,7,6,9,3,9)
print(nums[3])
#nums[3] = 40 #元组是不可变数据类型,不能修改
print(nums.index(7)) #查找下标
print(nums.count(9)) #计一个元素出现的次数
特殊情况:当需要表示只有一个元素的元组时,需要在最后加","逗号,否则是一个整数,不是一个元组。
ages = (20,)
使用tuple可以将列表转换为元组。
print(tuple(words))
元组也可以使用for和while进行遍历
for i in nums:
print(i)
j = 0
while j < len(nums):
print(nums[j])
j +=1
字典的基本使用
列表可以存储任意数据类型,但是一般情况下,都存储单一数据类型,列表只能存储值,不能对值进行描述
字典不仅可以保存值,还可以对值进行描述,使用{}大括号来表示一个字典,不仅有值value,还有值的描述key,字典里的数据都是以键值对key——value的形式保留的,key和value之间使用冒号:来连接,多个键值对之间使用逗号,来分隔。
person = {'name':'zhangsan','age':18,'math':98,'Chinese':95,'English':95,'gym':93,'height':180,'weight':150}
字典的注意事项:
字典里的key不允许重复,如果key重复了,后一个key对应的值会覆盖前一个
字典里的值value可以是任意数据类型,但key只能使用不可变数据类型一般使用字符串。
从字典里获取数据——增、删、改、查
person = {'name':'zhangsan','age':'18'}
#查找数据(字典的数据在保存时,是无序的,不能通过下标来获取)
print(person['name']) #使用key获取到对应的value
如果查找的key不存在,会报错
需求:获取一个不存在的key,不报错,使用默认值(None)
#使用字典的 get 方法,如果key不存在,会默认返回 None,而不报错
print(person.get('height')) #None
#如果根据key获取不到value,使用给定的默认值
print(person.get('gender','female'))
字典修改和新增数据
person = {'name':'zhangsan','age':18}
#直接使用 key 可以修改对应的 value
person['name'] = 'lisi'
#如果key存在,是修改key对应的value
#如果key在字典里不存在,会往字典里添加一个新的key-value
person['gender'] = 'female'
print(person)
字典的增删改操作
#把name对应的键值对删除,执行结果是被删除的value
x = person.pop('name')
print(x)
print(person)
#popitem删除一个元素,结果是被删除的这个元素组成的键值对
result = person.popitem()
print(result)
print(person)
del person['addr']
print(person)
person.cler() #清空一个字典
print(person)
update方法的使用
列表可以使用extend方法将两个列表合并成为一个列表
nums1 = [1,2,3,4,5,6]
nums2 = [6,7,8,9]
nums1.extend(nums2)
priint(nums1)
使用update可以将两个字典合并成一个字典
person1 = {'name':'zhangsan','age':'18'}
person2 = {'addr':'襄阳','height':180}
person1.update(person2)
print(person1)
字典之间不支持加法运算
字典的遍历
person = {'name':'zhangsan','age':18,'height':'180cm'}
特殊在列表和元组是一个单一的数据,但是字典是键值对的形式
字典第一种遍历方式:直接for……in循环字典
for x in person: #for……in 循环获取的是key
print(x)
print(x,'=',person[x])
字典第二种方式:获取到所有的key,然后在遍历key,根据 key 获取value
#print(person.key()) 类似一个列表
for k in person.keys():
print(k,'=',person[k])
第三种方式:获取到所有的value,只能拿到值,不能拿到key。
for v in person.value():
print(v)
第四种方式:把一组键值对当一个整体,同时取出。
#print(person.items())
for item in person.items():#把列表里的元素是元组,把一组当做整体进行遍历
print(item[0],'=',item[1])
#拆包
for k,v in person.items():
print(k,'=',v)