为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
初识Python_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。

    查看全部
    0 采集 收起 来源:索引迭代

    2018-08-02

  • 任务

    请编写一个函数,它接受一个 list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。

    提示:

    1. isinstance(x, str) 可以判断变量 x 是否是字符串;

    2. 字符串的 upper() 方法可以返回大写的字母。

    def toUppers(L):

        return [ x.upper() for x in L if isinstance(x,str)]


    查看全部
    0 采集 收起 来源:条件过滤

    2018-08-02

  • list[]

    tuple()

    查看全部
  • 短路计算。

    1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

    2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

    所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。


    查看全部
  • range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...]

    查看全部
    0 采集 收起 来源:生成列表

    2018-08-02

  • >>> L = []
    >>> for x in range(1, 11):
    ...    L.append(x * x)
    ... 
    >>> L
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:

    >>> [x * x for x in range(1, 11)]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。


    查看全部
    0 采集 收起 来源:生成列表

    2018-08-02

  • for index, name in enumerate(L):
        print index, '-', name

    这样不但代码更简单,而且还少了两条赋值语句。

    可见,索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。


    查看全部
    0 采集 收起 来源:索引迭代

    2018-08-02

  • 字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:

    >>> 'ABCDEFG'[:3]
    'ABC'
    >>> 'ABCDEFG'[-3:]
    'EFG'
    >>> 'ABCDEFG'[::2]
    'ACEG'

    在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。


    查看全部
    0 采集 收起 来源:对字符串切片

    2018-08-02

  • 利用倒序切片对 1 - 100 的数列取出:

    * 最后10个数;

    * 最后10个5的倍数。

    L = range(1, 101)

    print L[-10:]

    print L[-46:100:5]

    第二个解释:最左元素为从哪里开头的前一个;中间元素为大小范围;最右元素为每几个取一个

    查看全部
    0 采集 收起 来源:倒序切片

    2018-08-02

  • 请利用切片,取出:(记住!!!!!)

    1. 前10个数;
    2. 3的倍数;
    3. 不大于50的5的倍数。

    L = range(1, 101)
    print L[:10]
    print L[2::3]
    print L[4:50:5]


    查看全部
    0 采集 收起 来源:对list进行切片

    2018-08-02

  • 记住倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。

    查看全部
    0 采集 收起 来源:倒序切片

    2018-08-02

  • 使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。

    查看全部
  • uple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

    查看全部
    • tuple 定义容易有歧义,当定义元组内只有一个元素时,不管这个元素是整数、字符还是其它,都需要多加一个逗号,如:t=(1,)才能表示t是一个元组。并且打印t时,也会多一个“,”提示这个变量是一个元组。

    查看全部
  • tuple一旦创建完毕就不能修改了

    tuple与list的不同在于tuple用的是( )

    tuple 没有append() pop() insert()方法

    查看全部

举报

0/150
提交
取消
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!