# -*- coding: utf-8 -*-# @Time     : 2018-12-25 19:31# @Author   : 三斤春药# @Email    : zhou_wanchun@qq.com# @File     : Python基础知识(五).py# @Software : PyCharm

Python基础知识(五)今日内容大纲:昨日内容回顾    list:        增:append() insert(index,object) extend() 迭代着追加

        删:            pop 默认删除最后一个,按照索引去删除,有返回值。            remove 按照元素去删除。            clear 清空列表。            del l1 删除列表            del l1[index] 按照索引删除            del l1[0:3] 按照切片删除            del l1[0:3:3] 按照切片+步长删除

        改:            l1[2] = 'chun'            l1[1:3] = 'chun' 迭代着添加            l1[1:4:2] = [1,33]

        查:            索引,切片,切片(步长)            for 循环

    index : 通过元素查询索引    count : 查找某个元素在列表中的个数    sort : 排序,默认从小到大排序    sort.(reverse(True)) 从大到小    l1.reverse()    len() : 统计列表中元素的总个数。(也就是列表的长度)

l1 = [1,2,['wan','chun'],33]l1[1] = 200l1[2][0] = l1[2][0].upper()

    元组:            (1,'chun',True)            查:索引,切片,切片(步长)、for 循环            index  count  len()            (1,'chun',True,[1,2,3])

    range() : 当做 可控范围的数字列表            与 for 循环结合。

字典 dict    why:        1,列表如果存储大量的数据,查询速度相对慢一些。        2,列表存储的数据一般没有什么关联性。        [小潘, 175, 男,......]        针对以上因素,python提供了一个基础数据类型:dict字典。        数据类型的分类:            容器型数据类型:list,tuple,dict set。            非容器型数据类型:str bool int。

            可变(不可哈希)的数据类型:list,dict,set。            不可变(可哈希)的数据类型:str,bool, int,tuple                (1, 2, 'alex', [1,2,3,])                b1 = True                b1 = False                l1 = [1, 2, 3]                l1.append(666)

    what:字典:        {'name': 'alex'} 以键值对形式存储的数据类型。        1,字典的键必须是不可变(可哈希hash)的数据类型,唯一的不重复。           字典的值可以是任意数据类型(对象)。        2,字典的查询速度非常快。        3,字典在3.5包括3.5之前是无序的,但是3.6优化机制,字典会按照创建字典之初的顺序排列。        4,字典可以存储大量的关联性数据。        {'name': 'alex','python3期':['小潘','春哥', '二师兄'],            '太白':{                'name':'太白金星',                'id': 1306546743423,                'phone': 1358225xxxx,                'sex': '男'

                }

       }

    how:        增删改查

        其他操作    where:        当你想构建大量的关系型数据的时候,用到dict

字典的嵌套

集合(了解)

dic = {"name":"chun" ,"age":20 ,"sex":"man"}字典的 增删改查==================>增有则覆盖,有则添加dic["height"] = 175dic["age"] = 21print(dic)

setdefault() 有则不变,无则添加dic.setdefault('hight')dic.setdefault("hight",175)dic.setdefault("name","三斤春药")print(dic)

=======================>删pop 通过键key 去删除键值对ret = dic.pop("age")print(dic) # 有返回值 返回对应的值

ret1 = dic.pop("name2",'没有此键') # 没有此键 就不报错并且设置返回值print(ret1)print(dic)

clear 清空dic.clear()print(dic)

popitem 删除最后一个键值对3.5之前是随机删除,3.6删除最后一个键值对ret = dic.popitem()print(ret)print(dic)

deldel dicprint(dic)

del dic["age"]print(dic)

=========================>改dic["age"] = 21print(dic)

dic1 = {"name":"三斤春药" ,"age":20 ,"sex":"男"}dic2 = {"name":"chunge" ,"weight":65}dic2.update(dic1)print(dic1)print(dic2)将dic1字典中的键值对覆盖添加到dic2中,dic1不变.{'name': '三斤春药', 'age': 20, 'sex': '男'}{'name': '三斤春药', 'weight': 65, 'age': 20, 'sex': '男'}dic.update(weight=150,hight=175)dic.update(weight=150,hight=175)print(dic)

=======================》查按照键 查对应的值print(dic['name'])print(dic['name2'])  # 没有此键会报错

ret = dic.get('age')ret2 = dic.get('age2')ret3 = dic.get('age2',"没有此键")print(ret)print(ret2)print(ret3)

直接 for 循环字典 来获取的是 key键:for i in dic:    print(i)

dic.keys()  dic.values()  dic.items()上面三个都是返回一个类似于列表的容器的特殊数据类型print(dic.keys())for i in dic.keys():    print(i)

print(dic.values())for i in dic.values():    print(i)

print(dic.items())for i in dic.items():    print(i)

分别赋值a,b = 100,200print(a,b)

a,b,c = (1,2,3)a,b,c = [1,2,3]print(a,b,c)

a = 50b = 30a,b = b,aprint(a,b)  # 30 50

for k,v in dic.items():    print(k,v)结果是 : name chun        age 20        sex man

字典的嵌套:

l1 = ["chun",'alex']print(l1[0].upper())l1[0] = l1[0].upper()print(l1)

dic = {    'l1':['chun','三斤春药'],    'id':666,    1:{        'date':20181225,        'place':'深圳骑士计划',        'class':'Python3期',        'name_list':['周万春','chun','春哥','xx']    }}1,给小列表['chun', '三斤春药'] chun后面插入一个字符串,'aaa'dic['l1'].insert(1,'aaa')dic2 = {'l1':['chun','aaa','三斤春药']}dic.update(dic2)print(dic)

2,将id对应的666变成 1dic['id'] = 1print(dic)

3,将 1 对应的字典的data变成20181224 .dic2 = dic[1]dic2['date'] = 20181224dic[1]['date'] = dic[1]['date'] - 1dic[1]['date'] -= 1print(dic)

4,将name_list对应的chun全部变成大写。print(dic[1]['name_list'][1].upper())dic[1]['name_list'][1] = dic[1]['name_list'][1].upper()print(dic)

5,将name_list对应的 xx 删除。dic[1]['name_list'].pop(-1)dic[1]['name_list'].remove('xx')del dic[1]['name_list'][-1]print(dic)

格式化输出 %s第一种方式:msg = '我叫%s,今年%d,性别%s。' %('三斤春药',21,'男')print(msg)第二种方式: 通过字典的方式dic = {'name':'三斤春药','sex':'男','age':18}msg = '我叫%(name)s,今年%(age)s,性别%(sex)s。' % dicprint(msg)

fromkeys() 也是创建字典的一种方式dic = {'name':'chun'}dic = dict.fromkeys('abc','春哥')dic = dict.fromkeys([1,2,3],'春哥')dic = dict.fromkeys([1,2,3],[])坑:值如果是可变的数据类型,那么所有的值都是一个内存地址dic = dict.fromkeys([1, 2, 3], ['chun'])dic[1].append(666)print(dic)

Python基础知识(五)的更多相关文章

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

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

  2. python基础知识五

    数据结构基本上就是---它们可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python中有三种内建的数据结构---列表.元祖和字典. 我们将会学习如何使用它们,以及它们如何使编程变得 ...

  3. python基础知识五 各类型数据方法补充,转换,分类,编码+坑中菜

    3.9各类型数据方法补充,转换,分类,编码,坑中菜 3.9.1数据类型方法补充 1.str:不可变 补充方法 s1.capitalize():首字母大写 s1 = "alex" s ...

  4. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  5. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  8. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  9. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

随机推荐

  1. root用户登录mysql后新建用户提示1045错误

    执行以下命令查看root权限 show grants for 'root'@'localhost'; 如果没有显示with grant option,说明是root没有拥有新建授权用户的权限(为什么会 ...

  2. Java开发培训基础知识解析之反射机制

    Java是老牌编程语言,是当前应用最广泛的编程语言之一.想要学习Java你就一定要掌握Java基础知识,而反射对于初学Java的人来说绝对是非常重要的知识点.什么是反射?如何理解反射机制?如何使用反射 ...

  3. auto sudo password in shell

    here is the example how to implement the auto password in shell script. Echo yourpasswordhere | sudo ...

  4. 怎样解题 (G. 波利亚 著)

    第一部分 (已看) 目的 1. 帮助学生 2. 问题,建议,思维活动 3. 普遍性 4. 常识 5. 教师和学生,模仿和实践 主要部分,主要问题 6. 四个阶段 7. 理解题目 8. 例子 9. 拟订 ...

  5. JS正则表达式验证身份证号码

    function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...

  6. Quartz学习总结

    一.基本介绍: Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.该项目于 2009 年被 Terracotta 收购,目前是 Terraco ...

  7. monkey配置及简单报告生成(安卓)

    参考网址:http://www.51testing.com/html/72/502872-3709760.html   1.安装jdk,配置环境变量   2.安装sdk(解压后,配置环境变量到path ...

  8. ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍

    在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中.以下两篇关于UpdateProgress的文章基本翻译自ASP.N ...

  9. RedHat6.5安装zookeeper单机

    版本号: Redhat6.5  zookeeper-3.4.6  JDK1.8 zookeeper下载 官网下载地址:https://mirrors.tuna.tsinghua.edu.cn/apac ...

  10. Centos7 设置Mongodb开机启动-自定义服务

    (1).在/lib/systemd/system/目录下新建mongodb.service文件,内容如下 [Unit] Description=mongodb After=network.target ...