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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 在Python中,如果给定一个listtuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。

    在Python中,迭代是通过 for ... in 来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:

    for (i=0; i<list.length; i++) {
        n = list[i];
    }

    可以看出,Python的for循环抽象程度要高于Java的for循环。

    因为 Python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。

    因此,迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用 for 循环总是可以依次取出集合的每一个元素。

    注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:
    1. 有序集合:list,tuple,str和unicode;
    2. 无序集合:set
    3. 无序集合并且具有 key-value 对:dict

    而迭代是一个动词,它指的是一种操作,在Python中,就是 for 循环。

    迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。


    查看全部
    0 采集 收起 来源:什么是迭代

    2018-03-27

  •  L.append

    添加一个数相乘

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

    2018-03-27

  • 切片可以嵌套
    作业要求中 输出* 最后10个5的倍数
    答案是  print L[-46::5]  不是很灵活的方法,得通过计算得知起始坐标
    推荐答案 print L[4::5][-10:]  先获得5的倍数,再取后10个

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

    2018-03-27

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

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

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


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

    2018-03-27

  • 对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:

    >>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
    
    >>> L[-2:]
    ['Bart', 'Paul']
    
    >>> L[:-2]
    ['Adam', 'Lisa']
    
    >>> L[-3:-1]
    ['Lisa', 'Bart']
    
    >>> L[-4:-1:2]
    ['Adam', 'Bart']

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


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

    2018-03-27

  • 取前3个元素,用一行代码就可以完成切片:

    >>> L[0:3]
    ['Adam', 'Lisa', 'Bart']

    L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。

    如果第一个索引是0,还可以省略:

    >>> L[:3]
    ['Adam', 'Lisa', 'Bart']

    也可以从索引1开始,取出2个元素出来:

    >>> L[1:3]
    ['Lisa', 'Bart']

    只用一个 : ,表示从头到尾:

    >>> L[:]
    ['Adam', 'Lisa', 'Bart', 'Paul']

    因此,L[:]实际上复制出了一个新list。

    切片操作还可以指定第三个参数:

    >>> L[::2]
    ['Adam', 'Bart']

    第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

    把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。


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

    2018-03-27

  • 如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:

    def fn(*args):
        print args

    可变参数的名字前面有个 号,我们可以传入0个、1个或多个参数给可变参数:

    >>> fn()
    ()
    >>> fn('a')
    ('a',)
    >>> fn('a', 'b')
    ('a', 'b')
    >>> fn('a', 'b', 'c')
    ('a', 'b', 'c')

    可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。


    查看全部
  • \n 表示换行

    \t表示一个制表符

    \\表示\字符本身

    查看全部
  • dict的第一个特点是查找速度快

    第二个特点是存储的key_value序对是没有顺序的

    第三个特点是作为key的元素必须不可变

    查看全部
  • 不懂

    查看全部
  • 当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))

    解决办法:在开头加上

    import sys

    reload(sys)

    sys.setdefaultencoding( "utf-8" )


    查看全部
  • 1///dict就是通过 key 来查找 value

    花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。

    由于dict也是集合,len() 函数可以计算任意集合的大小:

    >>> len(d)

    3

    2///

    一是先判断一下 key 是否存在,用 in 操作符:

    if 'Paul' in d:
        print d['Paul']

    二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

    >>> print d.get('Bart')
    59
    >>> print d.get('Paul')
    None

      3///

    d = {                              

        'Adam': 95,

        'Lisa': 85,

        'Bart': 59

    }

    for key in d:

        print key + ':', d[key]    

    Lisa: 85

    Adam: 95

    Bart: 59

     

     dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。

     

    查看全部
  • “sum +=”的意思就是“sum = sum +”

    查看全部
    0 采集 收起 来源:Python之 for循环

    2018-03-26

  • 任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心

    查看全部
    0 采集 收起 来源:迭代dict的value

    2018-03-26

  • dict除了values()方法外,还有一个 itervalues()方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一样

    查看全部
    0 采集 收起 来源:迭代dict的value

    2018-03-26

举报

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

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