操作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)
682
int('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 False
output = 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 False
output = 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 L
print(add_end())
print(add_end())
print(add_end())
2.可变参数
def cals(*nums): sum=0 for x in nums: sum+=x return sum print(cals(1,2,3,4,123)) def cals(nums): sum = 0 for x in nums: sum += x; return sum print(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 L util = 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]()) # [<function getOneUtil.<locals>.sum at 0x0000000001173400>, <function getOneUtil.<locals>.sum at 0x0000000001173400>] [<function getOneUtil.<locals>.sum at 0x0000000001173488>, <function getOneUtil.<locals>.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 L util1 = 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]()) # [<function getOneUtil1.<locals>.sum at 0x00000000006E3598>, <function getOneUtil1.<locals>.sum at 0x00000000006E3620>] [<function getOneUtil1.<locals>.sum at 0x00000000006E3488>, <function getOneUtil1.<locals>.sum at 0x00000000006E36A8>] # 16 10 127 10