学习python编程语言使用dict和set

最近在学习廖雪峰老师的python教程,现在把自己学习过程中写的py文件与大家分享。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#---------------学习dict用法-----------------------
classmates={'benliu':100,'yuan':90,'bo':80,'GM':100}
print(classmates['benliu'])

#放入新数据
classmates['benliu']=95
print(classmates['benliu'])
classmates['guooujie']=95    #当dict中没有此元素时,会默认在后面添加此元素
print(classmates['guooujie'])
print(classmates)
#print(classmates['weiyongxin'])  #当dict中没有此元素时,会报错

#--------------判断dict中是否存在某个元素------------
#方法一:通过in来判断,如果存在返回True,如果不存在返回False
res='weiyongxin' in classmates
print(res)

#方法二: 通过get方法
res=classmates.get('weiyongxin')
print(res)   #get方法默认的返回值是None
res=classmates.get('weiyongxin',-1)   #也可以指定默认的返回值
print(res)

#----------用pop()函数删除某个key-------------
classmates.pop('guooujie')
print(classmates)


#---------------------python set用法---------
#set和dict类似是一组key的集合,但是set不存储value,而且set不存储重复元素
#创建一个set,需要提供一个list
s=set([1,2,3])
print(s)
s.add(3)    #add(函数可以添加元素)set会自动过滤掉重复元素
print(s)
s.add(5)
print(s)
#--------set可以看成数学意义上无序和无重复元素的集合-----
s2=set([2,3,4])
print(s&s2)    #两个不同的set之间可以做交集(&)运算,并集(|)运算等

#我们尝试将tuple类型赋值给set
t=(6,7,8)
s_t=set(t)    #因为t是tuple类型,而tuple类型是固定的,所以被赋值给set
print(s_t)   #因为set存储的是一个无序的集合,所以打印出来的效果可以是{8,6,7}

t2=(6,7,[8,9])
#s_t2=set(t2)   #这句话会报错,因为t2中存在可变的list元素
#print(s_t2)  #这句话会报错,因为t2中存在可变的list元素

#------------------学习心得----------------------------
#1.python里面的dict就相当于map
#2.在定义dict时需要用{},list的定义用[],tuple的定义用(),set的定义用set()
#3.dic的key必须是不可变对象,在实际应用中最常用的key是字符串
#4.这个通过key计算位置的算法称为哈希算法(Hash)
#5.set的key同样必须是不可变对象
#6.要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值