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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 两个方法有何不同之处呢? 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

  • 什么是迭代 在Python中,如果给定一个list或tuple,我们可以通过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 循环。 迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。 任务 请用for循环迭代数列 1-100 并打印出7的倍数。 ?不会了怎么办 用range(1, 101)可以创建数组。 参考代码: for i in range(1, 101): if i % 7 == 0: print i
    查看全部
    0 采集 收起 来源:什么是迭代

    2018-03-22

  • 特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
    查看全部
  • 字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串: >>> 'ABCDEFG'[:3] 'ABC' >>> 'ABCDEFG'[-3:] 'EFG' >>> 'ABCDEFG'[::2] 'ACEG' 在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。 任务 字符串有个方法 upper() 可以把字符变成大写字母: >>> 'abc'.upper() 'ABC' 但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。 提示:利用切片操作简化字符串操作。 ?不会了怎么办 取除首字母外的字符串用[1:] 参考代码: def firstCharUpper(s): return s[0].upper() + s[1:] print firstCharUpper('hello') print firstCharUpper('sunday') print firstCharUpper('september')
    查看全部
    0 采集 收起 来源:对字符串切片

    2018-03-22

  • 利用倒序切片对 1 - 100 的数列取出: * 最后10个数; * 最后10个5的倍数。 ?不会了怎么办 5的倍数可以用 ::5 取出,要确定起始索引。 参考代码: L = range(1, 101) print L[-10:] print L[-46::5]
    查看全部
    0 采集 收起 来源:倒序切片

    2015-05-07

  • for i in range(100): if not i%7: print i
    查看全部
    0 采集 收起 来源:什么是迭代

    2015-05-07

  • for i in range(100): if not i%7: print i
    查看全部
    0 采集 收起 来源:什么是迭代

    2015-05-07

  • 1.有序集合list、tuple,str、Unicode;其中str可以理解为list中的一种,也可以进行切片操作。 2.无序且无key value:set (如应用在日期查找) 3.有序且有key value:dict(字典)
    查看全部
    0 采集 收起 来源:什么是迭代

    2015-05-07

  • print L[2::3] 表示:从索引2(即第三个元素)开始取,每三个元素取一个,最后打印。。 L[0:3]表示从索引0取到索引3(但不包括3)一共三个元素
    查看全部
    0 采集 收起 来源:对list进行切片

    2015-05-07

  • def average(*args): if args == (): return 0.0 else: sum = 0.0 counter = 0 for item in args: counter +=1 sum = item+sum return (sum/counter) print average() print average(1, 2) print average(1, 2, 2, 3, 4) tuple空的表示方法不是None而是() 这里要注意要把sum的值写成浮点形式,即0.0
    查看全部
  • 函数就是最基本的一种代码抽象的方式。 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。
    查看全部
  • 3 层for循环的列表生成式,找出对称的 3 位数 print [100*x + 10*y + z for x in range(1, 10) for y in range(0, 10) for z in range(0, 10) if x == z]
    查看全部
    0 采集 收起 来源:多层表达式

    2015-05-07

  • >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] 只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中
    查看全部
    0 采集 收起 来源:条件过滤

    2018-03-22

  • >>> ' '.join('abc') 'a b c'
    查看全部
    0 采集 收起 来源:复杂表达式

    2018-03-22

  • 列表生成式则可以用一行语句代替循环生成list, [x * x for x in range(1, 11)]
    查看全部
    0 采集 收起 来源:生成列表

    2015-05-07

举报

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

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