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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • L = range(1, 101) * 最后10个5的倍数。 print L[4::5][-10:] 借鉴这种输出方式,先将5的倍数全部取出来,然后取倒数10个数
    查看全部
    1 采集 收起 来源:倒序切片

    2017-05-03

  • 切片用L[:]表示,例如L[0:3]表示取L list中前三个值,第一个参数表示起始位置,第二个参数表示结束位置; L[0:50:3]出现三个参数的表示为从第一个值到最后一个值每隔3个取一次
    查看全部
    0 采集 收起 来源:对list进行切片

    2017-05-03

  • for key, value in d.items():
    查看全部
  • for v in d.values() for v in d.itervalues()
    查看全部
    0 采集 收起 来源:迭代dict的value

    2017-05-03

  • 没想到用while循环,一脸懵逼 首先,可以用 while 循环构造出 list。 参考代码: L = [] x = 1 while x <= 100: L.append(x * x) x = x + 1 print sum(L)
    查看全部
  • 参考答案打印出的是数字,截图打印的是字符串格式
    查看全部
    0 采集 收起 来源:多层表达式

    2017-05-03

  • 利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。 百位的循环从 1-9,十位和个位的循环从 0-9。 参考代码: print [100 * n1 + 10 * n2 + n3 for n1 in range(1, 10) for n2 in range(10) for n3 in range(10) if n1==n3]
    查看全部
    0 采集 收起 来源:多层表达式

    2017-05-03

  • >>> [m + n for m in 'ABC' for n in '123'] ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3'] 翻译成循环代码就像下面这样: L = [] for m in 'ABC': for n in '123': L.append(m + n)
    查看全部
    0 采集 收起 来源:多层表达式

    2018-03-22

  • 列表生成式则可以用一行语句代替循环生成上面的list: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来
    查看全部
    0 采集 收起 来源:生成列表

    2018-03-22

  • dict 对象的 items() 方法返回的值: >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } >>> print d.items() [('Lisa', 85), ('Adam', 95), ('Bart', 59)] 可以看到,items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value: >>> for key, value in d.items(): ... print key, ':', value ... Lisa : 85 Adam : 95 Bart : 59 和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。
    查看全部
  • 如果我们希望迭代 dict 对象的value,应该怎么做? dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list, d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } print d.values() # [85, 95, 59] for v in d.values(): print v # 85 # 95 # 59 itervalues() 方法: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } print d.itervalues() # <dictionary-valueiterator object at 0x106adbb50> for v in d.itervalues(): print v # 85 # 95 # 59 不同之处: 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

    2018-03-22

  • zip()函数可以把两个 list 变成一个 list: >>> zip([10, 20, 30], ['A', 'B', 'C']) [(10, 'A'), (20, 'B'), (30, 'C')] 在迭代 ['Adam', 'Lisa', 'Bart', 'Paul'] 时,如果我们想打印出名次 - 名字(名次从1开始),请考虑如何在迭代中打印出来。 提示:考虑使用zip()函数和range()函数 ?不会了怎么办 range(1, ?) 可以创建出起始为 1 的数列。 参考代码: L = ['Adam', 'Lisa', 'Bart', 'Paul'] for index, name in zip(range(1, len(L)+1), L): print index, '-', name
    查看全部
    0 采集 收起 来源:索引迭代

    2018-03-22

  • 用range(1, 101)可以创建数组。 参考代码: for i in range(1, 101): if i % 7 == 0: print i
    查看全部
    0 采集 收起 来源:什么是迭代

    2017-05-03

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

    2017-05-03

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

    2017-05-03

举报

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

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