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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
    for x in s:
        print x[0],':',x[1]


    遍历set 元素二

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

    2018-06-02

  • set  [  ]

    查看全部
  • Python的 for 循环就可以依次把list或tuple的每个元素迭代出来:

    L = ['Adam', 'Lisa', 'Bart']for name in L:
        print name

    注意:  name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)。

    这样一来,遍历一个list或tuple就非常容易了。


    查看全部
    0 采集 收起 来源:Python之 for循环

    2018-06-02

  • 更新set主要做两件事:

    一是把新的元素添加到set中,二是把已有元素从set中删除。

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

    >>> s = set([1, 2, 3])
    >>>
    >>> print s
    set([1, 2, 3, 4])

    如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了

    注意S 后有个点


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

    >>> s = set([1, 2, 3, 4])
    >>> s.remove(4)
    >>> print s
    set([1, 2, 3])

    如果删除的元素不存在set中,remove()会报错:

    >>> s = set([1, 2, 3])
    >>> s.remove(4)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 4

    所以用add()可以直接添加,而remove()前需要判断。

    任务

    针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。

    s = set(['Adam', 'Lisa', 'Paul'])
    L = ['Adam', 'Lisa', 'Bart', 'Paul']
    • ?不会了怎么办

    • 判断元素是否在set中,使用in操作符。

      参考代码:

      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

    注意:针对该任务 判断list 'L'要用到 for语句 先把list的每一个元素查找一边,然后,才能对比是不是和set中的元素相同。


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

    2018-06-02

  • score = 55

    if score >= 60:

        print 'passed'

    if not score >= 60:

        print 'failed'


    score = 55

    if score >= 60:

        print 'passed'

    else:

        print 'failed' 


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

    2018-06-02

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

    查看全部
  • 请用 for 循环遍历如下的set,打印出 name: score 来。

    s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
    • ?不会了怎么办

    • 注意到set的元素是tuple,因此 for 循环的变量被依次赋值为tuple。

      参考代码:

      s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
      for x in s:
    • print x[0] + ':', x[1]
    • 注意:x[0]后“+”运行后是没有空格的,如果此处用“,”那么运行后就是一个空格。


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

    2018-06-02

  • [m + n for m in 'ABC' for n in '123']
    ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']


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

    2018-06-02

  • set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。

    set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。

    最后,set存储的元素也是没有顺序的。

    应用 判断一个字符在不在set中 应该先创建好一个set,然后 用 if...in ...:   else  ...来判断

    例子:

    先创建好一个set,包含'MON' ~ 'SUN':

    weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])

    再判断输入是否有效,只需要判断该字符串是否在set中:

    x = '???' # 用户输入的字符串if x in weekdays:
        print 'input ok'else:
        print 'input error'

    注意:set的定义是([...])

    查看全部
  • >>> print s
    set(['A', 'C', 'B'])

    请注意,上述打印的形式类似 list, 但它不是 list,仔细看还可以发现,打印的顺序和原始 list 的顺序有可能是不同的,因为set内部存储的元素是无序的。


    查看全部
  • join()方法可以把一个 list 拼接成一个字符串。

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

    2018-06-02

  • dict

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

    不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。

    dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样:

    dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。

    查看全部

  • 注意: Python代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为 True,就会执行这个代码块。

    缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

    注意: if 语句后接表达式,然后用:表示代码块开始。

    如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:


    查看全部
    0 采集 收起 来源:Python之if语句

    2018-06-02

  • 利用列表生成式,可以以非常简洁的代码生成 list。

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


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

    2018-06-02

  • 访问 set中的某个元素实际上就是判断一个元素是否在set中

    我们可以用 in 操作符判断:

    Bart是该班的同学吗?

    >>> 'Bart' in s
    True

    Bill是该班的同学吗?

    >>> 'Bill' in s
    False

    bart是该班的同学吗?

    >>> 'bart' in s
    False

    看来大小写很重要,'Bart' 和 'bart'被认为是两个不同的元素。


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

    2018-06-02

举报

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

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