为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
学习人数
综合评分9.43
3762人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • >>> [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 采集 收起 来源:生成列表

    2020-03-12

  • 和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。

    查看全部
  • 那这两个方法有何不同之处呢?

    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

    2020-03-12

  • 使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把:

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

    变成了类似:

    [(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]


    查看全部
    0 采集 收起 来源:索引迭代

    2020-03-12

  • s = set(['Adam', 'Lisa', 'Paul'])

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

    for ll in L: #遍历L

    #以下判断s中是否包含ll,是,删除;否则,加上

        if ll in s:

            s.remove(ll)

        else:

            s.add(ll)

            

    print s


    查看全部
    0 采集 收起 来源:Python之 更新set

    2020-03-12

  • sum = 0

    x = 1

    n = 1

    while True:

        if n > 20:

            break

        sum = sum + x

        x = x * 2 

        n = n +1

        

    print sum


    查看全部
  • #0-100奇数和

    sum = 0

    x = 1

    while x<100:

        sum = sum + x

        x = x+2

    print sum


    查看全部
  • \n 换行
    \t 制表符
    \\ \本身


    查看全部
  • s = set(['Adam', 'Lisa', 'Paul'])
    L = ['Adam', 'Lisa', 'Bart', 'Paul']
    for name in L:
        if name in s:
            s.remove(name)
        else:
            s.add(name)
    print s

    可以直接叠加for函数遍历,同时用if函数判断

    查看全部
    0 采集 收起 来源:Python之 更新set

    2020-03-11

  • set的每个元素是tuple,调用tuple中的元素用变量[0]...开始表示

    查看全部
    0 采集 收起 来源:Python之 遍历set

    2020-03-11

  • 1.

    可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:

    >>> print d['Adam']
    95
    >>> print d['Paul']
    Traceback (most recent call last):
      File "index.py", line 11, in <module>
        print d['Paul']
    KeyError: 'Paul'

    2.注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。

    3.

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

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

    如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。

    4.

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

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


    查看全部
    0 采集 收起 来源:Python之访问dict

    2020-03-11

  • 添加元素时,用set的add()方法:

    删除set中的元素时,用set的remove()方法:

    查看全部
    0 采集 收起 来源:Python之 更新set

    2020-03-11

  • print [m*100+n*10+s for m in range(1,10) for n in range(10) for s in range(10) if m==s]

    查看全部
    1 采集 收起 来源:多层表达式

    2020-03-11

  • 1.

    Python的 dict 就是专门干这件事的。用 dict 表示“名字”-“成绩”的查找表如下:

    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }

    我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。

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

    3.

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

    >>> len(d)
    3

    注意: 一个 key-value 算一个,因此,dict大小为37

    查看全部
  • 使用for循环的迭代不仅可以迭代普通的list,还可以迭代dict。

    假设有如下的dict:

    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }

    完全可以通过一个复杂的列表生成式把它变成一个 HTML 表格:

    tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
    print '<table>'
    print '<tr><th>Name</th><th>Score</th><tr>'
    print '\n'.join(tds)
    print '</table>'

    注:字符串可以通过 % 进行格式化,用指定的参数替代 %s。字符串的join()方法可以把一个 list 拼接成一个字符串。

    把打印出来的结果保存为一个html文件,就可以在浏览器中看到效果了:

    <table border="1">
    <tr><th>Name</th><th>Score</th><tr>
    <tr><td>Lisa</td><td>85</td></tr>
    <tr><td>Adam</td><td>95</td></tr>
    <tr><td>Bart</td><td>59</td></tr>
    </table>


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

    2020-03-11

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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