str类型 

1.eval:将字符串的代码执行,并返回结果 用于值计算 有返回值(尽量少用,危险)
     

print(eval('1+2+3+4'))###10

 2.exec:将字符串的代码执行 没有返回值 用于流程性代码的执行 if for。。。。

print(exec("1+2+3+4"))###None
exec("print('hello,world')")###hello  world

数字类型:

1.  abs(绝对值)

print(abs(-1))
#####1

2.  divmod()取商余

print(10,3)##3,3

3.  round()保留几位小数

print(round(2.4344343,2))##2.43

4.  pow() 几的几次方 幂运算,3个参数就是幂运算后取余几

print(pow(3,2))##9
print(pow(3,2,3)) ##0

5.  sum() 接受一个可迭代对象,求参数加起来的和

print(sum([1,2,3,4,4],4))##18

6.  min()加key之后 就要先算key,取最小值

print(min([1,3,4,0,9]))##1
print(min([-9,1,4,5],key=abs))##1

7.  max()可加key,就先算key,取最大值

print(max(-1,9,23,45,key=abs))

 

数据集合:

1.   enumerate()默认从0 开始

l = ['笔记本','phone','apple']
for i ,j in enumerate(l,1):
    print(i,j) #1 笔记本
               # 2 phone
               #3 apple

2.  zip() 是拉链函数,以最短的为准,取每个值

print(list(zip([1,2,3,4,],[5,6,7,8],['a','b'])))
##[(1, 5, 'a'), (2, 6, 'b')]

3.  filter()后面加函数名,和可迭代对象,过滤函数 返回一个迭代器,新的内容少于等于的时候,才能用filter,

      做筛选的,不会改变原来的值

def func(x): #传一个值
    if x >10:#遍历每个值和10比较
        return True#对的就返回
ret = filter(func,[1,3,34,15,8])#
print(list(ret))#[(1, 5, 'a'), (2, 6, 'b')]

4.  map()后面加函数名,和可迭代对象,返回一个迭代器,新内容的个数等于原内容的个数 ,

      结果不一定是原来可迭代对象的项

ret = map(abs,[-1,-5,-6,7])
print(list(ret))#[1, 5, 6, 7]
def func(x):
    return x*x
ret = map(func,[1,2,3,4,5])
print(list(ret))##[1, 4, 9, 16, 25]

5.  sorted()排序是生成一个新的列表,不改变原来的列表可加key

print(sorted([1,8,4,2,9]))#[1, 2, 4, 8, 9]
print(sorted([-5,3,-2,1],key=abs))#[1, -2, 3, -5]
li = ['alex',(1,2),'1,54,3,56']
print(sorted(li,key=len)) #[(1, 2), 'alex', '1,54,3,56']
#按元素的长度排序

6.len()  求值的长度

li = [1,2,4,5,6,7,]
print(len(li))

序列

1.  reversed() 返回一个迭代器, 不改变原来的列表,生成一个新的序列迭代器

li = [1,2,5,6,3,8]
l = reversed(li)
print(next(l))
print(list(l))

2.   reverse() 返回None 是在原本的列表的基础上修改的
  slice()切片 和切片一样 拿到一个新的list,,slice(1,5,2) == l[1:5:2] (是个语法糖) 

li = [1,2,5,6,3,8]
lit = slice(1,5,2)
print(li[lit])

 

posted on 2017-11-13 00:36  Wsj_six  阅读(139)  评论(0编辑  收藏  举报