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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  •  list 的 append() 方法,把新同学追加到 list 的末尾:

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.append('Paul')
    >>> print L
    ['Adam', 'Lisa', 'Bart', 'Paul']

    append()总是把新的元素添加到 list 的尾部。

    list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.insert(0, 'Paul')
    >>> print L
    ['Paul', 'Adam', 'Lisa', 'Bart']

    L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。


    查看全部
  • dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。

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

    查看全部
  • 要打印第四名同学的名字,用 L[3]:

    >>> print L[3]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list index out of range

    报错了!IndexError意思就是索引超出了范围,因为上面的list只有3个元素,有效的索引是 0,1,2。

    所以,使用索引时,千万注意不要越界。


    查看全部
  • 由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:

    >>> L = ['Michael', 100, True]

    一个元素也没有的list,就是空list:

    >>> empty_list = []


    查看全部
    0 采集 收起 来源:Python创建list

    2019-04-15

  • 1. values() 方法实际上把一个 dict 转换成了包含 value 的list。

    2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。


    print d.values()
    print d.itervalues()3. 打印 itervalues() 
    发现它返回一个 <dictionary-valueiterator> 
    对象,这说明在Python中,
    查看全部
    0 采集 收起 来源:迭代dict的value

    2019-04-15

  • 字符串的join()方法可以把一个 list 拼接成一个字符串。

    查看全部
    0 采集 收起 来源:复杂表达式

    2019-04-15

  • Python之创建单元素tuple

    tuple和list一样,可以包含 0 个、1个和任意多个元素。

    包含多个元素的 tuple,前面我们已经创建过了。

    包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

    >>> t = () >>> print t ()

    创建包含1个元素的 tuple 呢?来试试:

    >>> t = (1) >>> print t 1

    好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?

    因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

    正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

    >>> t = (1,) >>> print t (1,)

    Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。

    多元素 tuple 加不加这个额外的“,”效果是一样的:

    >>> t = (1, 2, 3,) >>> print t (1, 2, 3)

    任务

    请指出右边编辑器中代码为什么没有创建出包含一个学生的 tuple:

    t = ('Adam')

    print t

    请修改代码,确保 t 是一个tuple。

    • ?不会了怎么办

    • 单元素tuple必须加上额外的逗号。

      参考代码:

      t = ('Adam',) print t


    查看全部
  • 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。

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

    2019-04-15

  • Python之创建tuple

    tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

    同样是表示班里同学的名称,用tuple表示如下:

    >>> t = ('Adam', 'Lisa', 'Bart')

    创建tuple和创建list唯一不同之处是用( )替代了[ ]

    现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。

    获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素,不信可以试试:

    >>> t[0] = 'Paul' Traceback (most recent call last):   File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment

    任务

    创建一个tuple,顺序包含0 - 9这10个数。

    • ?不会了怎么办

    • 定义tuple通过 () 实现。

      参考代码:

      t = (0,1, 2, 3, 4, 5, 6, 7, 8, 9) print t


    查看全部
  • Python中替换元素

    假设现在班里仍然是3名同学:

    >>> L = ['Adam', 'Lisa', 'Bart']

    现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先把Bart删掉,再把Paul添加进来。

    另一个办法是直接用Paul把Bart给替换掉:

    >>> L[2] = 'Paul' >>> print L L = ['Adam', 'Lisa', 'Paul']

    对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。

    由于Bart还可以用 -1 做索引,因此,下面的代码也可以完成同样的替换工作:

    >>> L[-1] = 'Paul'

    任务

    班里的同学按照分数排名是这样的:

    L = ['Adam', 'Lisa', 'Bart']

    但是,在一次考试后,Bart同学意外取得第一,而Adam同学考了倒数第一。

    请通过对list的索引赋值,生成新的排名。

    • ?不会了怎么办

    • Adam的索引是0,而Bart的索引是-1。

      参考代码:

      L = ['Adam', 'Lisa', 'Bart'] L[0] = 'Bart' L[-1] = 'Adam' print L


    查看全部
  • Python从list删除元素

    Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢?

    如果Paul同学排在最后一个,我们可以用list的pop()方法删除:

    >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] >>> L.pop() 'Paul' >>> print L ['Adam', 'Lisa', 'Bart']

    pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。

    如果Paul同学不是排在最后一个怎么办?比如Paul同学排在第三:

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

    要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)把Paul删掉:

    >>> L.pop(2) 'Paul' >>> print L ['Adam', 'Lisa', 'Bart']

    任务

    注意右边编辑器代码中 list 如下:

    L = ['Adam', 'Lisa', 'Paul', 'Bart']

    Paul的索引是2,Bart的索引是3,如果我们要把Paul和Bart都删掉,请解释下面的代码为什么不能正确运行:

    L.pop(2)
    L.pop(3)

    怎样调整代码可以把Paul和Bart都正确删除掉?

    • ?不会了怎么办

    • 当首先删除索引为 2 的Paul时,L变成了:

      ['Adam', 'Lisa', 'Bart']

      这时,注意到Bart的索引已经从原来的3变成2了!

      参考代码:

      L = ['Adam', 'Lisa', 'Paul', 'Bart'] L.pop(3) L.pop(2) print L


    查看全部
  • Python之添加新元素

    现在,班里有3名同学:

    >>> L = ['Adam', 'Lisa', 'Bart']

    今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢?

    第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:

    >>> L = ['Adam', 'Lisa', 'Bart'] >>> L.append('Paul') >>> print L ['Adam', 'Lisa', 'Bart', 'Paul']

    append()总是把新的元素添加到 list 的尾部。

    如果 Paul 同学表示自己总是考满分,要求添加到第一的位置,怎么办?

    方法是用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

    >>> L = ['Adam', 'Lisa', 'Bart'] >>> L.insert(0, 'Paul') >>> print L ['Paul', 'Adam', 'Lisa', 'Bart']

    L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。


    查看全部
  • 创建greet函数

    查看全部
  • 1. values() 方法实际上把一个 dict 转换成了包含 value 的list。

    2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。

    3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。

    如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。


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

    2019-04-15

  • zip()函数可以把两个 list 变成一个 list:

    >>> zip([10, 20, 30], ['A', 'B', 'C'])
    [(10, 'A'), (20, 'B'), (30, 'C')]
    查看全部
    0 采集 收起 来源:索引迭代

    2019-04-15

举报

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

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