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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> 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。 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。 请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100] 提示:range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...] 不会了怎么办? 把每次循环的 x 变成列表中的元素 x * (x + 1) 参考代码: print [x * (x + 1) for x in range(1, 100, 2)]
    查看全部
    0 采集 收起 来源:生成列表

    2018-03-22

  • 如果字符串既包含'又包含"怎么办? 这个时候,就需要对字符串的某些特殊字符进行“转义”,Python字符串用\进行转义。 要表示字符串 Bob said "I'm OK". 由于 ' 和 " 会引起歧义,因此,我们在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为 'Bob said \"I\'m OK\".' 注意:转义字符 \ 不计入字符串的内容中。 常用的转义字符还有: \n 表示换行 \t 表示一个制表符 \\ 表示 \ 字符本身
    查看全部
  • 1.items() 方法把dict对象转换成了包含tuple的list 2.iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以iteritems() 不占用额外的内存 迭代dict的key和value >>> 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() 不占用额外的内存。
    查看全部
  • Python2 里面print可以直接接字符串或者运算。 Python3 里面print变成了一个函数,上面的写法不支持了,必须用一个括号括起来,否则会报告语法错误。 print(45678+0x12fd2) print("Learn Python in imooc") print(0xff==255)
    查看全部
  • 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中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如: a = 123 # a是整数 print a a = 'imooc' # a变为字符串 print a 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
    查看全部
  • 1、python中,迭代永远是取出元素本身,而非元素的索引。若在for循环中拿到索引,使用enumerate()函数。 2、zip()函数可以把两个list变成一个list。
    查看全部
    0 采集 收起 来源:索引迭代

    2018-01-29

  • 使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把: ['Adam', 'Lisa', 'Bart', 'Paul'] 变成了类似: [(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')] 因此,迭代的每一个元素实际上是一个tuple: for t in enumerate(L): index = t[0] name = t[1] print index, '-', name 如果我们知道每个tuple元素都包含两个元素,for循环又可以进一步简写为: for index, name in enumerate(L): print index, '-', name 这样不但代码更简单,而且还少了两条赋值语句。 可见,索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。 任务 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

  • if ...: print ... else: print ...
    查看全部
    0 采集 收起 来源:Python之 if-else

    2018-01-29

  • 有序的列表: 1. list [] 可以修改 append(),insert(),pop(), 2. tuple () 不可修改
    查看全部
  • 创建tuple和创建list唯一不同之处是用( )替代了[ ]。
    查看全部
  • L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。 L.append('Paul')append()总是把新的元素添加到 list 的尾部。
    查看全部
  • 所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义: >>> t = (1,) >>> print t (1,)
    查看全部
  • def average(*args): sum=0.0 if len(args)==0: return sum for x in args: sum=sum+x return sum/len(args) #return 前有四个空格, 则输出第一个数的平均值 retun sum/len(args) #return 前没有空格,则输出依次相加的所有值的平均值 print average() print average(1, 2) print average(1, 2, 2, 3, 4)
    查看全部
  • 利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + ... 的前20项的和。 N为运行的次数,X为计算的数字 sum = 0 x = 1 n = 1 while True: if n > 20: break sum = sum + x x = x * 2 n = n + 1 print sum
    查看全部

举报

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

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