操作list
声明list=[1,2,3,4]
list.append() 在末尾增加一个对象
list.extend([]) 在末尾增加传入list的多个对象
list.insert(0,'obj')在下标为0的位置插入一个对象
list.remove('obj')删除指定对象
del list[0] list.pop(0)删除指定下标的对象
类型int和str之间转换
int--->str
str(int类型数据)转换成10进制的字符串
hex(int类型数据)转换成16进制的字符串
oct(int类型数据)转换成8进制的字符串
chr(int类型数据) 转换为一个字符
str--->int
int(string类型数据,16) 按十六进制格式解析string类型数据(默认不写为十进制),得到十进制int类型数据
例子:
int('1010101010',2)682int('0x12',16)18
杨辉三角例子:
def is_palindrome(n): s = str(n) for i in range(0,len(s)//2): if s[i] == s[-i-1] and i == len(s)//2-1: return True return Falseoutput = filter(is_palindrome, range(1, 1000))print(list(output))
回文算法
def is_palindrome(n): s = str(n) for i in range(0,len(s)//2): if s[i] == s[-i-1] and i == len(s)//2-1: return True return Falseoutput = filter(is_palindrome, range(1, 1000))print(list(output))
函数参数
1.默认参数
def add_end(L=[]): L.append('END') return L>>> add_end()['END']>>> add_end()['END', 'END']>>> add_end()['END', 'END', 'END']def add_end(L=None): if L is None: L = [] L.append('END') return L>>> add_end()['END']>>> add_end()['END']def add_end(L=([1,2],)): L[0].append(1) return Lprint(add_end())print(add_end())print(add_end())
2.可变参数
def cals(*nums): sum=0 for x in nums: sum+=x return sumprint(cals(1,2,3,4,123))def cals(nums): sum = 0 for x in nums: sum += x; return sumprint(cals([1,23,4,5,5]))
3.命名关键字参数
def person(name,age,**kw): print(name,age,kw)person("zhuqianli",123,city="温州",abc=12312)def person2(name,age,*,city,abc): print(name,age,city,abc)person2('bob',123,city=1,abc=12)# person2('asd',123,city=1)# 有默认值 就可以缺省def person3(name,age,*,city=1,abc): print(name,age,city,abc)person3(1,2,abc=1)
闭包
def getOneUtil(*num): L=[] def sum(): s = 0 for n in num: s += n return s L.append(sum) num = [1, 2, 3, 4] L.append(sum) return Lutil = getOneUtil(1, 2, 3, 5, 5)util1 = getOneUtil(2, 3, 4, 5, 2, 111)print(util, util1)print(util[0](),util[1](), util1[0](), util1[1]())# [.sum at 0x0000000001173400>, .sum at 0x0000000001173400>] [ .sum at 0x0000000001173488>, .sum at 0x0000000001173488>]# 10 10 10 10# 返回函数不是同一个 返回的函数保存外部参数num的引用def getOneUtil1(*num): L=[] # 在定义函数的时候 将函数内部的sss赋值成num 这里是外部的num def sum(sss=num): s = 0 for n in sss: s += n return s L.append(sum) num = [1, 2, 3, 4] # 在定义函数的时候 将函数内部的sss赋值成num 这里是内部定义的num def sum(sss=num): s = 0 for n in sss: s += n return s L.append(sum) return Lutil1 = getOneUtil1(1, 2, 3, 5, 5)util11 = getOneUtil1(2, 3, 4, 5, 2, 111)print(util1, util11)print(util1[0](), util1[1](), util11[0](), util11[1]())# [ .sum at 0x00000000006E3598>, .sum at 0x00000000006E3620>] [ .sum at 0x00000000006E3488>, .sum at 0x00000000006E36A8>]# 16 10 127 10