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. LeetCode 575 Distribute Candies 解题报告

    题目要求 Given an integer array with even length, where different numbers in this array represent differ ...

  2. CentOS SSH免密登陆

    #环境说明客户机:Mac OS X服务器:CentOS 6.5客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh -v’命令可以查看版本. #大致流程1.在客户机创建一 ...

  3. (4.4)mysql备份还原——备份存储容灾基础知识

    存储知识 1.为什么需要存储,存储一般解决哪些问题? 容量.速度.易于管理.安全(容灾与备份).可扩展性 2.存储发展历史 [2.1]大型机 [2.2]c/s结构(客户端->服务器) [2.3] ...

  4. finecms如何调用多个指定栏目的内容

    想调用finecms多个栏目的内容,用英文状态下的逗号来分开多个id实现不了(catid=1,2,3),要如何写噢?后面ytkah想想这个跟sql语法有点一样,用IN_catid = 1,2,3果然成 ...

  5. String[]与List<String>的相互转换

    String[]转List String[] arr = new String[]{"a","b","c"}; List<String ...

  6. 用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to

    用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to 一直处于log scanned up to,只能ctrl+c强制终止备份 没有大事务 停止xtraba ...

  7. 创建genil component

    1: 创建一个类继承 CL_WCF_GENIL_ABSTR_COMPONENT 2:创建 genil _ editor 创建 component, 填入该实现类. 3: genil component ...

  8. Spark算子之aggregateByKey详解

    一.基本介绍 rdd.aggregateByKey(3, seqFunc, combFunc) 其中第一个函数是初始值 3代表每次分完组之后的每个组的初始值. seqFunc代表combine的聚合逻 ...

  9. Spark快速获得CrossValidator的最佳模型参数

    Spark提供了便利的Pipeline模型,可以轻松的创建自己的学习模型. 但是大部分模型都是需要提供参数的,如果不提供就是默认参数,那么怎么选择参数就是一个比较常见的问题.Spark提供在org.a ...

  10. GitHub上个最有意思的项目合集(技术清单系列)

    没有1K以上的星星都不好意思推荐给大家!林子大了,啥项目都有,这里给大家搜罗了10个Github上有趣的项目.如果你就着辣椒食用本文,一定会激动的流下泪来...... 1.一行代码没有 | 18k s ...