三、字典

定义:{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

注意:

 >>> dic={}.fromkeys(['k1','k2'],[])
>>> dic
{'k1': [], 'k2': []}
>>> dic['k1'].append(1)
>>> dic
{'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)

集合方法:

 # python_s={'egon','alex','钢蛋','老王'}
# linux_s={'alex','钢蛋','欧德博爱','艾里科四'} # print(python_s.intersection(linux_s))# 交集:python_s & linux_s # print(python_s.union(linux_s))#并集:| # print(python_s.difference(linux_s)) #python_s-linux_s # print(python_s.symmetric_difference(linux_s))# 对称差集,python_s ^ linux_s 运行结果:
# python_s={'egon','alex','钢蛋','老王'}
# linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
# python_s.difference_update(linux_s)
# print(python_s)

update 追加覆盖,无返回值

add 追加,无返回值

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

remove 删除,没有报错

pop 随机删除,没有参数

issubset 判断s1是否是s2的子集

issuperset 判断s1是否是s2的父集

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

 

总结:

1.可变不可变

可变:列表,字典

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

2.存放值的个数

一个值:数字,字符串

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

3.取值方式

直接取值:数字

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

映射类型:字典

六、bool值

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

 while 1:
cmd=input('>>: ')
if not cmd:
continue
print('========>cmd',cmd)

Python基础(4)_字典、集合、bool值的更多相关文章

  1. Python基础2 列表 字典 集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  3. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

  4. Python基础-列表_元组_字典_集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  5. Python之路-基础数据类型之字典 集合

    字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...

  6. Python基础数据类型之字典

      基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...

  7. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  8. python基础一数据类型之集合

    摘要: python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合. 1,集合的定义 2,集合的功能 3,集合的方法 1,集合的定义 list1 = [1,4,5,7,3,6,7,9] set1 ...

  9. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  10. Python 基础学习之字典

    1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...

随机推荐

  1. java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z解决方法

    执行JavaEE项目时出现例如以下错误: java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z a ...

  2. 【BIEE】07_调整BIEE柱子的显示顺序

    现在有报表如下: 但是我们觉得这种显示不好看,想把非优秀员工的柱子放在前边显示,那么如何调整呢? 调整步骤: [编辑分析] 我们将此处条形图下的两个标签顺序重新调整一下 从上图可以看出,效果明显!

  3. 浅谈struts2标签中的2个非经常常使用的标签的使用方法(radio和select)

    1.如图所看到的我们须要在前台的页面通过radio和select将相应的数据库中的数据显示到选项其中,这也是我们做项目中常常须要做的,动态的显示,而不是静态的显示. 首先我们须要在页面中导入strut ...

  4. Pycharm中的scrapy安装教程

    在利用pycharm安装scrapy包是遇到了挺多的问题.在折腾了差不多折腾了两个小时之后总算是安装好了.期间各种谷歌和百度,发现所有的教程都是利用命令行窗口安装的.发现安装scrapy需要的包真是多 ...

  5. c#创建对象并动态添加属性

    //动态类,可以作为基类被继承 dynamic backObj = new ExpandoObject(); //ExpandoObject 为密封类 backObj.image0 = IMGNAME ...

  6. 链表的艺术——Linux内核链表分析

    引言: 链表是数据结构中的重要成员之中的一个.因为其结构简单且动态插入.删除节点用时少的长处,链表在开发中的应用场景许多.仅次于数组(越简单应用越广). 可是.正如其长处一样,链表的缺点也是显而易见的 ...

  7. Theme.AppCompat.Light无法找到问题

    使用adt开发新建一个Android app.选择支持的SDK版本号假设小于11(Android3.0)就会报例如以下错误. error: Error retrieving parent for it ...

  8. 42:换汽水瓶ExchangeBottle

    有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个 ...

  9. [译]GLUT教程 - 动画

    Lighthouse3d.com >> GLUT Tutorial >> Basics >> Animation 前面章节我们已经创建了一个白色三角形的窗体.还没到 ...

  10. VMware网络连接 桥接、NAt、host-only模式

    如果你想利用VMWare安装虚拟机,或想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作.此时,对虚拟系统网络连接模式的选择就非常重要了.如果你选择的工作模式不正确,就无法实现上述目的,也就 ...