Python元组和字典的使用、使用字典的注意事项、字典查找数据、字典的增删改、字典的合并 update方法、字典的遍历

1.元组的使用 count 和index方法

-元组和列表很像,都是用来保存多个数据;
-使用一对小括号()来表示一个元组;
-元组和列表的区别在于,列表是可变的,而元组是不可变数据类型;
-由于它是不可变的数据类型,所有就不能对一个元组进行增删改
-元组我说知道能使用的也就countindex两个方法;
-count用来计算某个元素在元组中的个数,index用来返回某个元素的下标;
-元组也可以使用下标查找元素,也可以使用切片查看,但是不能用它们修改元组数据;
-使用tuple函数可以将一个可迭代对象转换成一个元组,转换成一个列表的换就要使用list函数了;
-同样,也是通过是用len函数来返回元组的长度,sum求和,max求最大值,min求最小值;join方法拼接元组,拼接时元组内的数据类型必须都是字符串;
注意:元组只有一个元素是要在那一个数据后加一个逗号,否者那就不不一定是一个元组了,它的数据类型就取决于那一个元素的数据类型;

a = ('18')
print(type(a))  # <class 'str'>
b = ('18',)
print(type(b)) # <class 'tuple'>

2.字典的基本使用:

-字典不仅能存储值,还能对值进行描述
-使用大括号来表示字典
-字典里的数据都是使用键值对key~value来保存的
-key和value之间用:连接
-多个键值对之间用,分隔


3.使用字典的注意事项:

-字典里的key不能重复,如果重复,后面的key对应的值会覆盖前面的值;
-字典里的value可以是任何数据类型,旦key只能使用不可变数据类型,我们一般使用字符串;


4.字典查找数据

-字典的数据在保存时,是无序的,不能用下标查找数据;
-使用key值来查找数据,如果查找的key不存在会直接报错;我们不确定这个key是否存在的时候,我们可以使用字典的get方法,如果key不存在时,会返回一个值,默认是None,我们也可以去给定一个值;

person = {'name': 'zhangsan',
          'age': 18,
          'hobbit': ['唱', '跳', 'rap', '篮球']}
print(person['name'])  # zhangsan
# print(person['height']) # KeyError: 'height'
print(person.get('height'))# None
print(person.get('height', 'famal'))# famal

5.字典的增删改

-如果key存在,会直接修改对应的value的值;如果key在字典里不存在,则会往字典里新增一个key~value;
-删除pop方法删除的返回的是value;popitem 方法删除一个元素,返回的是被删除的这个元素对应的键值对组成的元组,字典为空时会报错;clear方法是用来清空字典的;同样我们也可以是del来删除;

person = {'name': 'zhangsan',
          'age': 18}
person['name'] = 'lisi'
print(person)# {'name': 'lisi', 'age': 18}
person['birthday'] = '0219'
print(person)# {'name': 'lisi', 'age': 18, 'birthday': '0219'}
x = person.pop('birthday')
print(x)# "0219'
print(person) # {'name': 'lisi', 'age': 18}
y = person.popitem()
print(y) # ('age', 18)
print(person) # {'name': 'lisi'}
del person['name']
print(person)

6.字典的合并 update方法

-合并两个列表我们可以使用切片、加法还有extend方法;不做过多演示详情可见python列表的相关操作;
-合并两个元组我们也是使用的加法;
-合并两个字典,字典是不支持加法运算的,所以我们这里使用字典自带的方法update,如key值重复后面的会覆盖前面的

num1 = [1, 2, 3, 4, 5]
num2 = [6, 7, 8, 9, 10]
num1.extend(num2)
print(num1)# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

word1 = ('ok', 'yes')
word2 = ('good', 'well')
print((word1 + word2)) # ('ok', 'yes', 'good', 'well')

person = {'name': 'zhangsan', 'age': 18}
person1 = {'name': 'hunan', 'height': 180}
person.update(person1)
print(person)# {'name': 'hunan', 'age': 18, 'height': 180}

7.字典的遍历

-直接对字典进行遍历,起始就是对字典的所有key值进行遍历;
-对key()进行遍历也是对字典的所有key值进行遍历;
-对values()进行遍历,就是对字典的所有value值进行遍历;
-对items()进行遍历,不知道怎么说,可以看下下面的演示:

person = {'name': 'zhangsan', 'age': 18}
for x in person:
    print(x,'=', person[x])
# name = zhangsan
# age = 18

print(person.keys())  # dict_keys(['name', 'age'])
for x in person.keys():
    print(x, '=', person[x])
# name = zhangsan
# age = 18

print(person.values())# dict_values(['zhangsan', 18])
for x in person.values():
    print(x)
# zhangsan
# 18

print(person.items())#dict_items([('name', 'zhangsan'), ('age', 18)])
for x in person.items():
    print(x[0],'=',x[1])#列表里的元素是元组,把元组当做整体遍历

for x,y in person.items():
    print(x,'=',y)
    # name = zhangsan
# age = 18

感谢浏览,希望对您有所帮助,觉得有用的话,点个赞再走呗

字典练习

1.求给到列表中各个字符出现的次数,当然这个列表也可以自己给定

char = ['a', 'c', 'x', 'd', 'p', 'a', 'p', 'a', 't', 'c']

2.让用户输入姓名,如果姓名已存在,则提示用户;如果姓名不存在,继续输入年龄,并存入列表里,加上一个按照年龄的大小对它们进行排序

persons = [{'name': 'zhangsan', 'age': 18},
           {'name': 'lisi', 'age': 20},
           {'name': 'wangwu', 'age': 19},
           {'name': 'jerry', 'age': 21}
           ]

答案我会在评论区给出,不是唯一答案,可能你们的答案比我做的还要好哦

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值