1、列表的增删改查
增:append()、insert()、extend()
names = ['赵','钱','孙','李']
names.append("周") # 向列表最后追加元素
names.insert(0,"郑") # 向指定的位置添加内容
names.insert(2,"沙") # 同上
names2 = ['葫','叮','候']
names3 = names + names2 # 返回两个列表拼接的结果,合并两个列表
names.extend(names3) # 合并连个列表
删: pop()、remove()、del
pop() #和append()相对,都是从尾部
names.pop() # 删除列表最后一个元素,并返回该元素
names.remove("李") #从左向右删除列表中指定元素一次,列表中可以存在相同元素
del names[0] #删除列表中指定的切片的元素
del names[2:5] # 列表支持切片,返回列表
改
names[0] = "刘" # 直接修改第0个元素
查in 或 not in
in #判断列表是否包含某元素
not in #判断列表是否包含某元素
2、字典的增删改查
infor = {"name":"赵","addr":"山东","age":18}
print("%s %d %s"%(infor['name'],infor['age'],infor['addr'])) # 关联索引更具特征性,不会像列表一样数字索引容易出错
增 改
infor['key'] = 'value'
删
del infor['key']
查
infor.get('key')
3、for else结构
for temp in couples:
pass # 这里可以是一个if判断,如果if成立则break,不成立则执行else
break
else:
pass
4、列表中的append 和 extend 的区别
a = [11,22,33]
b = [44,55]
a.extend(b) # b列表元素合并到a列表后,a = [11,22,33,44,55] 其中b只能是列表 无返回值 None
a.append(b) # 把b当作一个元素整体追加到a最后 append可以追加元素本身 a = [11,22,33,[44,55]]
4、字典常见操作
infor= {"name":"赵","addr":"山东","age":18}
## len(infor) # 列表/字典中值的个数
## infor.keys() # 返回字典的键组成的列表
## infor.values() # 返回字典的值组成的列表
## infor.items() # 返回值为 键值对组成元组 元组在组成列表 [('name','赵'),('addr','山东'),('age','18')]
5、 元组应用
for item in infor.items():
key,value = item # 此时key='键' value='值'
pass
num = (11,22,33) # 返回tuple,元组类型
type(num)
元组的特点,一旦设置,不可修改
6、 函数封装
a = 300 # 全局变量定义的位置
def print_func():
"""函数的注释写在这里""" # 用help(print_func)可以查看函数的注释,是函数就可以
print "hello world"
print ("="*5) # python3的print函数需要用小括号
a = 500 # 这里需要注意,列表字典可以不用global声明而直接用,
global a # 全局变量
a = 11
b = 22
c = 33
return a,b,c # 返回元组 (11,22,33)
7、不定长参数
def sun_2_sums(a,b,c,*args,**kwargs): # args必须放在最后
print(a)
print(b)
print(c)
print(args)
print(kwargs)
sun_2_sums(11,22,33,44,55,66)
# 返回结果 args为后边几个参数的元组形式, kwargs为空字典
# 11
# 22
# 33
# (44,55,66)
# {}
sun_2_sums(11,22,33,task=44,done=55)
# 有键的时候返回字典
# 11
# 22
# 33
# ()
# {'task':44,'done':55}
A = (44,55,66)
B = {'name':'laowang','age':18}
sun_2_sums(11,22,33,*A,**B)
# 想要元组给元组,字典给字典,需要在传参的时候带上*号前缀
# 否则会按照规则直接存入元组
# 11
# 22
# 33
# (44,55,66)
# {'name':'laowang','age':18}
8、引用
a = 100
b = a
id(a) # 返回a的值的存储地址 如:10917536
id(b) # 返回b的值的存储地址 10917536 即此时是传递至引用地址
A = [11,22,33]
B = A
A.append(44) #打印B 返回和A一样 [11,22,33,44]
9、不可变类型、可变类型
####不可变类型:int、string、元组
####可变类型:列表、字典 字典不能用可变类型当作key,
10、递归
递归就是自己调用自己,用递归首先要想到的是出口
def getNums(num):
if num > 1:
return num * getnums( num - 1 )
else:
return num
getNums(5)