精华内容
下载资源
问答
  • 使用列表推导式、生成式可以快速的构造出列表: 最简单的: x = '12045' >>> lst = [i for i in x] >>>lst ['1', '2', '0', '4', '5'] if 条件的 x = '12045' >>>...

    使用列表推导式、生成式可以快速的构造出列表:

     

    最简单的:

    x = '12045'
    >>> lst = [i for i in x]
    >>>lst
    ['1', '2', '0', '4', '5']
    

     

    带 if 条件的

    x = '12045'
    >>> lst = [i for i in x if i != '0']
    >>>lst
    ['1', '2', '4', '5']
    

     

    带 if···else···条件的

    x = '12045'
    >>> lst = [i  if i != '0' else 'xxx' for i in x]
    >>>lst
    ['1', '2', 'xxx', '4', '5']
    

     

    如果不准备对生成的列表进行修改, 只是访问用,则可以改为列表生成器:

    最简单的:

    x = '12045'
    >>> lst = (i for i in x)
    >>>lst
    <generator object <genexpr> at 0x027BA738>
    

    转载于:https://www.cnblogs.com/wangyueyouyi/p/9558999.html

    展开全文
  • 一、列表生成式 ...# 普通的列表生成式 print [x for x in list1] # 有if条件判断的生成式 print [y for y in list2 if y>1 and y<3] # 综合实践 print [x*y for x in list1 for y in list2 i...

    一、列表生成式

    示例:

    list1 = ['a','b','c']
    list2 = [1,2]
    
    # 普通的列表生成式
    print [x for x in list1]
    
    # 带有if条件判断的生成式
    print [y for y in list2 if y>1 and y<3]
    
    # 综合实践
    print [x*y for x in list1 for y in list2 if y>1 and y<3]
    

    输出结果: 

    ['aa', 'bb', 'cc']

    二、lambda表达式

    lambda一般用于只是用一次或几次调用的简单的函数的简化处理。

    示例:

    f=lambda x,y:x+y     # 功能实现的跟定义函数add(x,y)一样        
    print(f(1,2))        # 调用也和调用函数一样    
    

    结果输出:

    3

    三、三目运算符

    python可以使用if/else结构完成三目运算符的替代操作。

    结构:res = "变量1" if (条件) else "变量2"
    
    # 也可以使用简单的运算符
    h = a-b if a>b else a+b

     

    展开全文
  • 第69课时: 推导创建...有判断语句的,就是只有满足 if条件的才被选上: a=[x for x in range(5)] print(a) a=[x*8 for x in range(5)] print(a) [0, 8, 16, 24, 32] a=[x*2 for x in range(5) if x>2] print

    第69课时: 推导式创建序列 列表推导式 字典推导式 集合推导式 生成器推导式



    推导式创建序列:

    推导式是典型的python风格,效率高:


    1列表推导式:

    列表推导式生成列表对象,语法如下:
    在这里插入图片描述


    带有判断语句的,就是只有满足 if条件的才被选上:
    在这里插入图片描述

    a=[x for x in range(5)]
    print(a)
    a=[x*8 for x in range(5)]
    print(a)

    [0, 8, 16, 24, 32]

    a=[x*2 for x in range(5) if x>2]
    print(a)

    [6, 8]

    传统的写法(不用推导式):

    a=[]
    for x in range(5):
        if x>2:
            a.append(x*2)
    print(a)

    [6, 8]



    2字典推导式:在这里插入图片描述

    操作统计字符串各字符出现次数

    my_text = 'wdnmd,woc'
    char_count={c:my_text.count(c) for c in my_text}
    print(char_count)

    使用普通方法;实现上述要求:

    my_text = 'wdnmd,woc'
    a={}
    for i in range(len(my_text)):   
    	a[my_text[i]]=my_text.count(my_text[i])
    print(a)

    {‘w’: 2, ‘d’: 2, ‘n’: 1, ‘m’: 1, ‘,’: 1, ‘o’: 1, ‘c’: 1}

    3集合推导式:

    集合推导式生成集合,和列表推导式生成列表语法格式类似
    在这里插入图片描述

    a={x for x in range(5) if x%2==0 }
    print(a)

    {0, 2, 4}

    4生成器推导式(生成元组):

    元组与其他不同,

    生成的是一个生成器(是可迭代对象)和range()类型一样

    a=(x for x in range(5) if x%2==0 )
    print(a)

    <generator object at 0x000001BB42CA2DE0>

    a=(x for x in range(5) if x%2==0 )
    print(tuple(a))

    (0, 2, 4)

    a是一个生成器,必须用tuple()转化为元组。

    a是一个可迭对象:

    a=(x for x in range(5) if x%2==0 )
    for x in a:
        print(x , end=' ')

    0 2 4



    第70课时: .综合练习 绘制不同颜色的多个同心圆 绘制棋盘

    绘制不同颜色的多个同心圆

    Day 23-1

    先绘制单个园(输入q或者Q退出显示):

    import turtle
    
    t = turtle.Pen()
    t.circle(100)
    while True:
        s=input('wdnmd')
        if s.upper()== 'Q':
            break

    或者用 turtle.done() 表示保留原图

    在这里插入图片描述

    import turtle
    
    
    
    a=10
    t = turtle.Pen()
    t.circle(a)
    
    for i in range(10):
        t.penup()
        t.goto(0,-(i+1)*10)
        t.pendown()
        t.circle(a+(i+1)*10)
    turtle.done()

    在这里插入图片描述


    改变颜色


    import turtle
    
    a=10
    t = turtle.Pen()
    t.circle(a)
    t.speed(10)
    color = ('red','yellow','blue','black','green')
    
    for i in range(10):
        t.penup()
        t.goto(0,-(i+1)*10)
        t.pendown()
        b=i
        if b>4:
            b=4
        t.color(color[b])
        t.circle(a+(i+1)*10)
    turtle.done()

    在这里插入图片描述

    t.speed(100)
    用于调整绘图速度的。

    t.width(4)
    改变线条宽度
    在这里插入图片描述

    作业画棋盘

    在这里插入图片描述

    展开全文
  • python学习 day13推导 : 用一行循环判断遍历出一系列数据的方式列表推导(1)普通推导(2)有判断条件的推到(3)多循环推到(4)有判断条件的多循环推到关于推导的练习(2).把列表中所有字符变成小写 [...

    推导式 : 用一行循环判断遍历出一系列数据的方式

    • 推导式在使用时,只能用for循环和判断,
      而且判断是能是单项判断

    列表推导式

    案例:创建一个包含1~50整数的列表
    常规写法:

    lst_new = []
    for i in range(1,51):
    	lst_new.append(i)
    

    推导式写法:

    lst = [i for i in range(1,51)]
    

    (1)普通推导式

    案例:将[1,2,3,4] 转化为 [2,8,24,64]

    lst = [1,2,3,4]
    # lst = [ i * 2**i for i in lst ]
    lst = [i << i for i in lst]		# 将i*2**i简化为i<<i  (左移)
    print(lst)
    

    (2)带有判断条件的推到式

    案例:将列表中的偶数提取组成新的列表
    常规写法:

    lst = [1,2,3,4,5,6,67,7,8]
    lst_new = []
    for i in lst:
    	if i % 2 == 0:
    		lst_new.append(i)
    print(lst_new)
    

    推导式改写:

    lst = [ i for i in lst if i % 2 == 0 ]
    print(lst)
    

    (3)多循环推到式

    常规写法:

    lst1 = ["王振","黄俊","刘伟"]
    lst2 = ["魏小林","刘思敏","陈芮"]
    lst_new = []
    for i in lst1:
    	for j in lst2:
    		res = i+"♥"+j
    		lst_new.append(res)
    print(lst_new)
    

    推导式改写:

    lst = [i+"♥"+j for i in lst1 for j in lst2]
    

    (4)带有判断条件的多循环推到式

    常规写法:

    lst_new = []
    for i in lst1:
    	for j in lst2:
    		if lst1.index(i) == lst2.index(j):
    			res = i+"♥"+j
    			lst_new.append(res)
    print(lst_new)
    

    推导式改写:

    lst = [ i+"♥"+j for i in lst1 for j in lst2 if lst1.index(i) == lst2.index(j) ]
    

    关于推导式的练习

    (1).{‘x’: ‘A’, ‘y’: ‘B’, ‘z’: ‘C’ } 把字典写成x=A,y=B,z=C的列表推导式
    dic = {‘x’: ‘A’, ‘y’: ‘B’, ‘z’: ‘C’ }
    常规写法:

    for k,v in dic.items():
    	res = k + "=" + v
    	lst_new.append(res)
    print(lst_new)
    
    *推导式改写:**
    lst = [ k + "=" + v for k,v in dic.items() ]
    print(lst)
    

    (2).把列表中所有字符变成小写 [“ADDD”,“dddDD”,“DDaa”,“sss”]

    常规写法:

    lst =  ["ADDD","dddDD","DDaa","sss"]
    lst_new = []
    for i in lst:
    	res= i.lower()
    	lst_new.append(res)
    print(lst_new)
    

    推导式改写:

    lst = [i.lower() for i in lst ]
    print(lst)
    

    (3).x是0-5之间的偶数,y是0-5之间的奇数 把x,y组成一起变成元组,放到列表当中

    方法一

    常规写法:

    lst_new = []
    for x in range(6):
    	for y in range(6):
    		if x % 2 == 0 and y % 2 == 1:
    			res = x,y
    			lst_new.append(res)
    print(lst_new)
    

    推导式改写:

    lst = [ (x,y) for x in range(6) for y in range(6) if x % 2 == 0 and y % 2 == 1 ]
    

    方法二

    常规写法:

    lst_new = []
    for x in range(6):
    	if x % 2 == 0:
    		for y in range(6):
    			if y % 2 == 1:
    				res = x,y
    				lst_new.append(res)
    print(lst_new)
    

    推导式改写:

    lst = [ (x,y) for x in range(6) if x % 2 == 0 for y in range(6) if y % 2 == 1 ]
    print(lst)
    

    (4).使用列表推导式 制作所有99乘法表中的运算

    常规写法:

    for i in range(9,0,-1):
    	for j in range(1,i+1):
    		print("{:d}*{:d}={:2d}".format(i,j,i*j) , end=" ")
    	print()
    

    推导式改写:

    lst = [ "{:d}*{:d}={:2d}".format(i,j,i*j) for i in range(9,0,-1) for j in range(1,i+1) ]
    

    (5).求M,N中矩阵和元素的乘积

    M = [ [1,2,3] , [4,5,6] , [7,8,9]]
    N = [ [2,2,2] , [3,3,3] , [4,4,4]]
    # =>实现效果1   [2, 4, 6, 12, 15, 18, 28, 32, 36]
    # =>实现效果2   [[2, 4, 6], [12, 15, 18], [28, 32, 36]]
    

    题目思路:

    M[0][0] * N[0][0] = 2
    M[0][1] * N[0][1] = 4
    M[0][2] * N[0][2] = 6
    
    M[1][0] * N[1][0] = 12
    M[1][1] * N[1][1] = 15
    M[1][2] * N[1][2] = 18
    
    M[2][0] * N[2][0] = 28
    M[2][1] * N[2][1] = 32
    M[2][2] * N[2][2] = 36
    
    • 总结: 能控制下标等于控制了最后的结果

    第一个效果

    lst = [ M[i][j] * N[i][j] for i in range(3) for j in range(3) ]
    print(lst)
    

    第二个效果

    代码思路:

    # [ [] , [] , [] ] 通过推导式遍历出三个新列表
    lst = [ [] for i in range(3) ]
    print(lst)
    
    • 外层i动的慢的,里层的j动的快的,所以下标M[i][j]
      在拿出i的时候, 里面的for 循环了三遍 是在一个新的列表当中实现的;

      推导式代码:
    lst = [ [M[i][j] * N[i][j] for j in range(3)] for i in range(3) ]
    print(lst)
    

    集合推导式

    案例:

    • 满足年龄在18到21,存款大于等于5000 小于等于5500的人,
      开卡格式为:尊贵VIP卡老x(姓氏),否则开卡格式为:抠脚大汉卡老x(姓氏)
      把开卡的种类统计出来
    listvar = [
    	{"name":"王家辉","age":18,"money":10000},
    	{"name":"王水机","age":19,"money":5100},
    	{"name":"王鹏","age":20,"money":4800},
    	{"name":"李站","age":21,"money":2000},
    	{"name":"李小龙","age":180,"money":20}
    ]
    

    常规写法:

    setvar = set()
    for i in listvar:
    	if 18 <= i["age"] <= 21 and  5000 <= i["money"] <= 5500:
    		res = "尊贵VIP卡老" +  i["name"][0]
    	else:
    		res = "抠脚大汉卡老" +  i["name"][0]
    	setvar.add(res)
    print(setvar)
    

    推导式改写:
    setvar = { 三运运算符 + for i in iterable }

    setvar = {"尊贵VIP卡老" +  i["name"][0] if 18 <= i["age"] <= 21 and  5000 <= i["money"] <= 5500 else "抠脚大汉卡老" +  i["name"][0]   for i in listvar }
    print(setvar)
    

    字典推导式

    【1】enumerate

    格式:

    • enumerate(iterable,[start=0])
      功能:
    • 枚举:将索引号和iterable中的值,一个一个拿出来配对组成元组放入迭代器中

    参数:

    • iterable: 可迭代性数据 (常用:迭代器,容器类型数据,可迭代对象range)
      start: 可以选择开始的索引号(默认从0开始索引)

    返回值:

    • 迭代器
    lst = ["吕洞宾","张果老","蓝采和","何仙姑","铁拐李","韩湘子","曹国舅","王文"]
    it = enumerate(lst)
    # 可以设置开始的索引值 start=5
    it = enumerate(lst , start=5)
    from collections import Iterable , Iterator
    res = isinstance(it,Iterator)
    print(res)		# True
    # list强转迭代器
    res = list(it)
    print(res)		# [(5, '吕洞宾'), (6, '张果老'), (7, '蓝采和'), (8, '何仙姑'), (9, '铁拐李'), (10, '韩湘子'), (11, '曹国舅'), (12, '王文')]
    

    1.通过推导式配合enumerate创建字典:

    dic = { k:v for k,v in enumerate(lst , start=1) }
    print(dic)		# {1: '吕洞宾', 2: '张果老', 3: '蓝采和', 4: '何仙姑', 5: '铁拐李', 6: '韩湘子', 7: '曹国舅', 8: '王文'}
    

    2.通过dict 强转字典 实现

    dic = dict(enumerate(lst , start=1))
    print(dic)
    

    【2】zip

    格式:

    • zip(iterable1,iterable2)

    功能:

    • 将多个iterable中的值,一个一个拿出来配对组成元组放入迭代器中

    返回:

    • 迭代器

    特点:

    • 不能匹对的多余值会被舍弃

    zip 的基本使用

    lst1 = ["黄俊","朱佳怡","王振","魏小林"]
    lst2 = ["李博","刘伟","王颖倩"]
    lst3 = ["刘思敏","陈芮"]
    it = zip(lst1 , lst2 )
    # it = zip(lst1 , lst2  ,lst3 ) 
    print(isinstance(it,Iterator))
    
    # 用list强转,瞬间拿到里面所有数据
    print( list(it) )
    

    1.使用zip配合推导式转入字典

    dic = {k:v for k,v in  zip(lst1 , lst2 )}
    print(dic)
    

    2.通过dict 墙砖字典 实现

    dic = dict(zip(lst1 , lst2 ))
    print(dic)
    

    生成器

    生成器本质是迭代器,允许自定义逻辑的迭代器

    迭代器和生成器区别:

    • 迭代器本身是系统内置的.重写不了.而生成器是用户自定义的,可以重写迭代逻辑

    生成器可以用两种方式创建:

    • (1)生成器表达式 (里面是推导式,外面用圆括号)
      (2)生成器函数 (用def定义,里面含有yield)
    • 生成器应用在大数据的场景中,按照需求依次取值,
      切记不要直接迭代生成器所有数据
      一旦数据量较大,类似于死循环

    生成器表达式 定义一个生成器

    gen = (i* 2 for i in range(1,5))
    print(gen)		# <generator object <genexpr> at 0x00000281754C6C10> 属于迭代器
    

    用list强转,瞬间拿到所有数据:

    res = list(gen)
    print(res)
    

    生成器函数

    yield 类似于 return

    共同点在于:

    • 执行到这句话都会把值返回出去

    不同点在于:

    • yield每次返回时,会记住上次离开时执行的位置 , 下次在调用生成器 , 会从上次执行的位置往下走
      而return直接终止函数,每次重头调用.

    格式:

    • yield 6 和 yield(6) 2种写法都可以 yield 6 更像 return 6 的写法 推荐使用

    from collections import Iterator

    (1) 基本语法:

    def mygen():
    	print("one")
    	yield 1
    	
    	print("two")
    	yield 2
    	
    	print("three")
    	yield 3
    	
    # 初始化生成器函数 , 返回生成器对象, 简称生成器
    gen = mygen()
    print(isinstance(gen , Iterator))
    
    # 第一次
    res = next(gen)
    print(res)
    # 第二次
    res = next(gen)
    print(res)
    # 第三次
    res = next(gen)
    print(res)
    
    
    """
    # error
    res = next(gen)
    print(res)
    """
    

    代码解析:

    • 第一次调用, print(“one”) yield 1 , 记录当前代码执行的状态15行, 把1直接返回,等待下一次调用
      res = 1 print(1)
    • 第二次调用, 从上一次代码的位置继续向下执行,print(“two”) yield 2 , 记录当前代码执行的状态18行 , 把2直接返回,等待下一次调用
      res = 2 print(2)
    • 第三次调用, 从上一次代码的位置继续向下执行,print(“three”) yield 3 , 记录当前代码执行的状态21行 , 把3直接返回,等待下一次调用
      res = 3 print(3)

    如果再进行第四次调用,因为没有yield 关键字返回数据, 所以直接报错 StopIteration

    (2) 优化代码

    def mygen():
    	for i in range(1,101):
    		yield "我的球衣号码是%s" % (i)
    
    # 初始化生成器函数 -> 生成器对象 -> 简称生成器
    gen = mygen()
    

    for + next 调用生成器:

    for i in range(50):
    	res = next(gen)
    	print(res)
    
    for i in range(30):
    	res = next(gen)
    	print(res)
    

    send 可以发送数据,发送给上一个yield

    next和send区别:

    • next 只能取值
      send 不但能取值,还能发送值

    send注意点:

    • 第一个 send 不能给 yield 传值 默认只能写None
      最后一个yield 接受不到send的发送值

    代码示例:

    def mygen():
    	print("start")
    	res = yield 111
    	print(res)
    	
    	res = yield 222
    	print(res)
    	
    	res = yield 333
    	print(res)
    	
    	print("end")
    
    
    # 初始化生成器函数 -> 返回生成器对象 -> 简称生成器
    gen = mygen()
    
    # 第一次调用
    # 第一次只能默认发送None,因为第一次没有上一个yield
    val = gen.send(None)
    print(val)
    
    # 第二次调用
    val = gen.send(444)
    print(val)
    
    # 第三次调用
    val = gen.send(555)
    print(val)
    # 555
    # 333
    # 第四次调用 error
    # val = gen.send(666)
    # print(val)
    

    代码解析:
    无论是next 还是 send 都可以调用生成器里面的数据
    send 不但可以调用,还可以给yield 发送值

    • 第一次调用send , 只能发送None ,因为还没有遇到yield
      代码从上到下执行, print(“start”) 遇到 res = yield 111
      记录当前代码执行的状态3行,把111值返回,等待下一次调用
      外面的val = 111 print(111)

    • 第二次调用send ,把444发送给上一次保存的位置87行
      yield 进行接收 res = 444 3行往下执行 print(444) 遇到 res = yield 222
      记录当前代码执行的状态6行,把222值返回,等待下一次调用
      外面的val = 222 print(222)

    • 第三次调用send ,把555发送给上一次保存的位置6行
      yield 进行接收 res = 555 6行往下执行 print(555) 遇到 res = yield 333
      记录当前代码执行的状态9行,把333值返回,等待下一次调用
      外面的val = 333 print(333)

    • 第四次调用send , 把555发送给上一次保存的位置9行
      yield 进行接收 res = 666 93行往下执行 print(666) print(“end”)
      没有任何yield 返回数据 , 出现StopIteration
      到此程序彻底结束.

    yield from : 将一个可迭代对象变成一个迭代器返回

    迭代器生成前后的代码,会在开始迭代的第一次或最后一次调用一次。

    def mygen():
    	lst = ["魏小林","陈宁波","朱胜"]
    	yield from lst
    gen = mygen()
    print(next(gen))
    print(next(gen))
    print(next(gen))
    

    案例: 用生成器来写一个斐波那契数列

    斐波那契函数: 1 1 2 3 5 8 13 21 34 55 …

    def mygen(maxlength):
    	a = 0
    	b = 1
    	
    	i = 0
    	while i < maxlength:
    		# print(b)
    		yield b
    		# 当前值 = 上上个值 + 上一个值
    		a,b = b,a+b
    		i+=1
    
    gen = mygen(50)
    # 按照需求量进行取值
    for i in range(30):
    	print(next(gen))
    
    展开全文
  • Python推导

    2021-01-20 21:46:20
    Python推导式推导列表list1、普通列表生成式2、带条件的列表生成式3、列表生成式与函数结合推导字典dict推导集合set 推导式: 推导式从一个可枚举数据(列表,元组,集合,字典等)推导出一个列表。也可以推导出生...
  • Python推导

    2020-07-24 19:49:26
    推导一、列表推导1、单循环推导2、有判断条件的单循环推导3、双循环推导4、有判断的双循环推导5、推导练习二、集合_字典推导1、集合推导2、字典推导三、生成器1、生成器表达式2、生成器函数...
  • Python的推导:用法

    2021-03-04 16:51:48
    一、Pythonic - 很Python 如果你这样写,你就不Pythonic了: ...二、带条件的推导 生成一个列表,包含1到100之间是3的倍数的数字的方法: 9,36,81... 代码: nums = [i*i for i in range(1,101) if
  • Python 各种推导

    2020-10-10 15:51:12
    过滤条件的推导 # 生成 0、2、4、6、8 的列表 [i for i in range(10) if i % 2 == 0] 函数的推导 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里...
  • for循环 写一段代码生成1到100之间的数字的平方的列表,答案是: ...带条件的推导 生成一个列表,如果是3的倍数就用平方,否则就用是数字本身: 1,2,9,4,5,36... 代码: nums = [i*i if ..
  • Python推导-最全用法

    2021-01-11 15:11:19
    1、Pythonic - 很Python 写一段代码生成1到100之间的数字的平方的列表,答案是: 1,4,9,16... 如果你这样写,你就不Pythonic了: ...2、带条件的推导 生成一个列表,包含1到100之间是3的倍数的数字的方法: 9, 3
  • python推导深入讲解

    2020-12-11 06:26:27
    python推导是非常简洁高效数据整合手段,功能强大且运行效率极高。本文将你深入了解并掌握推导,并将告诉你什么时候该用推导什么时候不该用推导。...迭代器:指生成推导式的数据源,迭代器可以是列表、元组
  • 学习python的第八天

    2020-02-16 20:02:12
    在一个列表生成式中,for前面if … else是表达式,而for后面if是过滤条件,不能else。 如果列表元素可以按照某种算法推算出来,那我们是否可以在循环过程中不断推算出后续元素呢?这样就不必创建完整...
  • 列表生成式 生成器 迭代器 函数式编程 高阶函数 map/reduce filter sorted 返回函数 匿名函数 装饰器 偏函数 模块 使用模块 安装第三方模块 单元测试 文档测试 IO编程 文件读写 StringIO和BytesIO 操作文件和目录 ...
  • Python Cookbook

    2013-07-31 22:33:26
    4.5 在无须共享引用的条件下创建列表的列表 148 4.6 展开一个嵌套的序列 149 4.7 在行列表中完成对列的删除和排序 152 4.8 二维阵列变换 154 4.9 从字典中取值 155 4.10 给字典增加一个条目 157 4.11 在无须...
  • Python基础语法(五)

    2020-03-14 14:11:41
    Python基础语法1....又叫列表生成式。 示例# 普通推导式 lstNum = [i for i in range(10)] print(lstNum) # 输出结果 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 带条件的推导式 lstNum = [i for i in ra...
  • python第4天

    2018-05-06 09:27:56
    凡是有yield函数就一个生成器函数4.生成器函数执行的条件next5.使用生成器监听文件操作6.生成器触发需要先next再send7.如何从生成器中取值8.列表推倒9.找到嵌套列表中名字含有两个e所有名字10.python内置...
  • 切片操作格式化方法format函数(一) 英文字符与字符检测相关函数(二)字符串 查找与操作相关函数 重点重点重点列表切片相关函数列表推到一,基本的列表推到使用方式二,有判断条件的列表推到元组元组推导 ...
  • Python基础教程 第二版

    2018-04-04 12:35:58
    2.3.2 基本的列表操作 2.3.3 列表方法 2.4 元组:不可变序列 2.4.1 tuple函数 2.4.2 基本元组操作 2.4.3 那么,意义何在 2.5 小结 2.5.1 本章的新函数 2.5.2 接下来学什么 第3章 使用字符串 3.1 基本字符串操作 3.2 ...
  • 国内用户如果访问GitHub比较慢话,也可以关注我知乎号Python-Jack上“从零开始学Python”专栏,专栏会持续更新,还有大家比较期待“数据分析”内容也即将上线,欢迎大家关注我在知乎专栏、文章和回答。...
  • 深入理解Python中文版高清PDF

    热门讨论 2012-09-04 19:37:04
     10.3.3 有多个excepttry语句   10.3.4 处理多个异常except语句   10.3.5 捕获所有异常   10.3.6 “异常参数”   10.3.7 在应用使用我们封装函数   10.3.8 else子句   10.3.9 ...
  • Python核心编程第二版

    热门讨论 2009-07-30 17:07:20
    很不错的python书 第1部分 Python核心  第1章 欢迎来到Python世界   1.1 什么是Python   1.2 起源   1.3 特点   1.3.1 高级   1.3.2 面向对象   1.3.3 可升级   1.3.4 可扩展   1.3.5 可...
  • Python核心编程第二版(中文)

    热门讨论 2015-04-23 16:40:13
    1.7 比较PythonPython与其他语言比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,print语句及“Hello World!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值...
  • Python核心编程(中文第二版)

    热门讨论 2009-10-02 12:08:14
     1.7 比较PythonPython与其他语言比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,print语句及“Hello World!”   2.2 程序输入和raw_input()内建函数   2.3 注释  ...
  • Python核心编程第二版(ok)

    热门讨论 2009-05-21 08:23:44
     1.7 比较PythonPython与其他语言比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,1print语句及“HellocWorld!”   2.2 程序输入和raw_input()内建函数   2.3 注释  ...
  • 02 css的列表属性与display属性 03 css的内外边距 04 css的内外边距补充 05 css的float属性 06 css的清除浮动 07 css的定位 08 css的margin定位 第40章 01 抽屉作业之head区域(导航条) 02 抽屉作业之置顶区域 03...
  •  1.7 比较pythonpython与其他语言比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,print语句及“hello world!”   2.2 程序输入和raw_input()内建函数   2.3 注释  ...
  •  1.7 比较pythonpython与其他语言比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,print语句及“hello world!”   2.2 程序输入和raw_input()内建函数   2.3 注释  ...
  • 签名Cookie CBV和FBV用户认证装饰器 本周作业 第22周 上节回顾 Django之url、Views Django之Model操作 Django之模版 Django之Session Django之Session与Cookie Django之CSRF原理详解 Django之中间件详解 ...

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

python带条件的列表生成式

python 订阅