python字典 增,删,改,查

1、增:XXX[新的key] = value

2、删:DEL XXX[key]

3、改:XXX[已经存在的key] = NewValue

4、查:aList.extend(bList)

python中定义全局变量命名, 格式:g_变量名 = value

函数中使用全局变量先使用 "global 变量名"

使用main函数思想控制整个程序

使用id(变量名),查看变量的内存地址

python不同于其它语言,所以赋值都是引用。

python函数中的缺省参数

def test(a,b=22):
result = a+b
print(result)
return result test(10)
# print : 32 ,给B设置的缺省参数为22,如果不传就用22,传了值就以传的值为准。
test(a=10,b=20) #指定参数传值

python函数不定长参数 1

def test(a,b,*args):
print(a)
print(b)
print(args)
test(10,20,30,40,50,60)
# 如果不确定传参数量,在形参里用*args(可自定义形参名且必须放在形参最后的位置),args里返回的是一个元组。(如果元组只有一个值,"(10,)",需要在单值后加逗号)

python函数不定长参数 2

def test(a,b,*args,**kwargs):
print (a)
print (b)
print (args)
print (kwargs)
test(10,20,30,40,50,name="laowang",hobby="green")
#**kwargs以字典的形式保存多余的参数name和hobby。*args还是以元组的形式保存多余的不带变量的具体值->(实参所传的参数)

 返回结果:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

拆包  嘿嘿

什么是拆包?

a = ['cute','doge','hehe'] #要传的一个列表
b = {'name':'caiquan','look':'shazi'} #要传的一个字典
def test(a,b,*args,**kwargs):
print (a)
print (b)
print (args)
print (kwargs)
#NOW 我们把列表和字典当作实参传入test函数并打印
test(10,20,30,a,b)

先look一下结果

很明显多余的参数 -> a列表和b字典 <- 都被装在了*args元组里面而**wkargs是空,这时在函数内如果要取出字典里的值是不太方便的。

这里只需要在传实参a和b时,加上* 和 **。

a = ['cute','doge','hehe'] #要传的一个列表
b = {'name':'caiquan','look':'shazi'} #要传的一个字典
def test(a,b,*args,**kwargs):
print (a)
print (b)
print (args)
print (kwargs)
#NOW 我们把列表和字典当作实参传入test函数并打印
test(10,20,30,*a,**b)

现在多余的实参30, 列表a被拆分到形参args里,字典b被拆分到形参kwargs里。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

python可变与不可变类型

1,不可变类型

字符串,数字,元组

2,可变类型

列表,字典

字典中只能使用不可变类型作为key

test = {"name":"laowang",234:"num",(10,20):"test"}
print test # {234: 'num', 'name': 'laowang', (10, 20): 'test'}

如果使用可变类型作为key是不行的!!!

列表的排序方法

aa = [10,324,25,24,52,2,52,4352,325,235]
# aa.sort() 从小到大排序
# aa.sort(reverse=True) 从大到小排序
aa.reverse() 倒序
print(aa)
#[235, 325, 4352, 52, 2, 52, 24, 25, 324, 10] #当列表中是字典的时候
aa = [{"name":"laowang","age":19},{"name":"xiaowang","age":17},{"name":"any","age":28}]
aa.sort(key=lambda x:x["name"])
print(aa)
#按字母顺序排列
#[{'age': 28, 'name': 'any'}, {'age': 19, 'name': 'laowang'}, {'age': 17, 'name': 'xiaowang'}]

  

  

    

  

Python基础知识摘要的更多相关文章

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

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

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

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

  3. python基础知识(二)

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

  4. python 基础知识(一)

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

  5. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

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

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

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(Basic knowledge)

    Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...

随机推荐

  1. linux popen()函数使用

    默认管道只能处理标准输出,不能处理标准错误输出 所以在popen()函数中运行的命令若有标准错误输出,调用者无法捕获 解决办法: 1.将标准错误输出重定向到标准输出2>&1,这样调用者能 ...

  2. win10下切换多个jdk版本

    1.每次切换时,修改JAVA_HOME变量 2.编辑path环境变量,如图所示,将%JAVA_HOME%\jre\bin和%JAVA_HOME%\bin移到最上边 3.在控制面板中打开java控制面板 ...

  3. 几种Linux 查询外网出口IP的方法(转)

    原文:http://www.cnblogs.com/wudonghang/p/354289a61129731e7d2075968356e6ad.html Curl 纯文本格式输出: curl ican ...

  4. 对vue生命周期的理解

    总共分为8个阶段,创建前/后,载入前/后,更新前/后,销毁前/后: 创建前/后:在beforeCreated阶段,vue实例的挂载元素$el和数据对象data都为undefined,还未初始化.在cr ...

  5. (4.2)mysql备份还原——备份概述

    1.什么情况下会用到备份呢? [1.1]灾难恢复 [1.2]单位审计:数据库在过去某一个点是什么样的 [1.3]跨机房灾备:异地备份 [1.4]认为的DDL或者DML语句,导致主从库的数据消失 [1. ...

  6. redis缓存和mysql数据库同步

    附redis关于缓存雪崩和缓存穿透,热点key 穿透 穿透:频繁查询一个不存在的数据,由于缓存不命中,每次都要查询持久层.从而失去缓存的意义. 解决办法: 持久层查询不到就缓存空结果,查询时先判断缓存 ...

  7. 新辰:共享是SEO的思维 用户是SEO的核心

    大家都知道.SEO一直没有一个能够定义的核心.新辰知道全部的东西里面在互联网领域链接是非常重要的.所以新辰觉得做SEO就是把链接做好.因此,链接对于一个站点来说简单分能够分成两种.内部的链接和外部的链 ...

  8. 数据库——MongoDB

    what's the MongoDB MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式 ...

  9. 三角形的优雅值(map和哈希表)

    给你 n 个三角形,每个三角形有一个优雅值,然后给出一个询问,每次询问一个三角形,求与询问的三角形,相似的三角形中的优雅值最大是多少.★数据输入第一行输入包括 n 一个数字,接下来 n 行,每行四个整 ...

  10. python中的0,None,False,空容器

    在Python中,None.空列表[].空字典{}.空元组().0等一系列代表空和无的对象会被转换成False.除此之外的其它对象都会被转化成True. 1.0等于False,这点要注意. 2.空的l ...