Python基础(4)_字典、集合、bool值

三、字典

定义:{key1:value1,key2:value2},key-value结构,key必须是不可变类型,或者可hash
    基本形式:key:value
特性:

  1.可存放多个值
  2.可修改指定key对应的值,可变
  3.无序

字典的创建:

  person = {"name": "sb", 'age': 18}  或    person = dict(name='sb', age=18)

  person = dict({"name": "sb", 'age': 18})
  person = dict((['name','sb'],['age',18]))
  {}.fromkeys(seq,100) #不指定100默认为None

注意:

1 >>> dic={}.fromkeys(['k1','k2'],[])
2 >>> dic
3 {'k1': [], 'k2': []}
4 >>> dic['k1'].append(1)
5 >>> dic
6 {'k1': [1], 'k2': [1]} 

 

字典常见操作函数:

 

#新增或更改
d={}
d['x']=1
print(d)

#删除
d.pop('x')    #pop删除,可返回values值
d.popitem()    #随机删除键值对,删除的值为元组

#键、值、键值对
d.keys()
d.values()
d.items()

#循环
d={'x':1,'u':2}
for k in d:
    print (k,d[k])

#长度
d={'x':1,'u':2}
print(len(d))

#成员运算
d={'x':1,'u':2}

print('x' in d)
print(1 in d.values())    

 

键值对转化为元祖:

取字典key

取字典values

 

setdefault 只能添加没有的key值

 

update 更新字典,有key值覆盖,没有追加,原字典不变

 

四、集合

集合的作用

  一:关系运算

   二:去重 

定义集合:
  集合内的元素必须是唯一的;
   集合内的元素必须是可hash的,也是就不可变类型;
  集合是无序的
   s={'egon',123,'egon','1'}     #s=set({'egon',123,'egon','1'} )
  # print(s,type(s))

循环:

# s={'1',1,(1,2),'a','b'}
#
# for i in s:
#     print(i)

关系运算:

#关系运算
python_s={'egon','alex','钢蛋','老王'}
linux_s={'alex','钢蛋','欧德博爱','艾里科四'}

#取共同部分:交集
# print(python_s & linux_s)

# #取老男孩所有报名学习的学生:并集
# print(python_s | linux_s)

# #取只报名了python课程的学生:差集
# print(python_s - linux_s)

#取只报名了linux课程的学生:差集
# print(linux_s - python_s)

#取没有同时报名python和linux课程的学:对称差集
# print(linux_s ^ python_s)

集合方法:

 1 # python_s={'egon','alex','钢蛋','老王'}
 2 # linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
 3 
 4 # print(python_s.intersection(linux_s))# 交集:python_s & linux_s
 5 
 6 # print(python_s.union(linux_s))#并集:|
 7 
 8 # print(python_s.difference(linux_s)) #python_s-linux_s
 9 
10 # print(python_s.symmetric_difference(linux_s))# 对称差集,python_s ^ linux_s
11 
12 运行结果:
13 # python_s={'egon','alex','钢蛋','老王'}
14 # linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
15 # python_s.difference_update(linux_s)
16 # print(python_s)

update 追加覆盖,无返回值

add 追加,无返回值

diacard删除,以元素名删除,没有,不报错

remove 删除,没有报错

pop 随机删除,没有参数

 

 issubset 判断s1是否是s2的子集

 

 issuperset 判断s1是否是s2的父集

 

isdiajoint() 判断是否有交集,没有交集返回 True

 

 总结:

1.可变不可变

可变:列表,字典

不可变:数字,字符串,元组

2.存放值的个数

一个值:数字,字符串

多个值(容器类型):列表,元组,字典

3.取值方式

直接取值:数字

序列类型:字符串,元组,列表

映射类型:字典

六、bool值

所有的数据类型自带布尔值,只有0,None,空的布尔值为False

1 while 1:
2     cmd=input('>>: ')
3     if not cmd:
4         continue
5     print('========>cmd',cmd)

 

 

 

posted @ 2017-06-09 19:07  hedeyong11  阅读(289)  评论(1编辑  收藏  举报