• pthon-条件与循环


    条件:

    if condition1:

      statement1

    elif condition2:

      statement2

    ......

    else conditionN:

      statementN

    判断条件的省略用法:

      string   空字符串为False, 非空字符串解析为True

      int  0解析为False,非0解析为True

      list/tuple/dict/set  Iterable为空解析为False,其余解析为True

      object  None解析为False,其余解析为True


    循环:

    for item in <Iterable>: #  只要是可迭代的集合,都可以用for ... in 可迭代集合:    进行遍历

      ****

    例如:l = [1,2,3,4]

    for item in l:

      print(item)

    字典,比较特殊,只有key是可迭代的。

    例如:d = {'name':'李刚','age':30,'sex':'男'}

      for item in d:  # 只能遍历键

        print(d)  # 结果是 name  age  sex

    想要遍历字典的值:

      for item in d.values():  # d.values() 是 dict_values()对象

        print(item)  #  结果:  李刚 30 男

    编列字典的键值对:

      for item in d.items(): # d.items() 是 dict_items()对象

        print(item)  # 结果 (‘name’,'李刚’) ('age',30) ('sex','男')

    利用索引来遍历:

      d = [1,2,3,4]

      for i in range(len(l)):

        print(d[i])

    利用enumerate()函数来遍历:

      for i,item in enumerate(d):

        if i > 5:

          print(item)

    while循环

      while condition:

        statement


    高级表达: 条件与循环并行的简洁表达

      # 遍历 Iterable中每一个元素,给定1个条件判断语句,2种可能的结果表达式

      expression1  if    condition   else   expression   for   i   in   Iterable   # 结果是一个生成器(generator)

      [generator] : 把生成器变成列表

      # 遍历Iterable中每一个元素,1个条件判断,1中可能结果

      expression   for   i   in   Iterable   if    condition    # 结果:也是一个 generator

      #两个循环嵌套

      x = [1,2,3,4]

      y = [1,2,5,6]

      # x  为 外层循环 , y为内层循环

      result = [(a,b) for  key  in  x   for  value  in  y  if a != b]

      

      例子:

        已知 y = x^2 + 5  ,x = [1,2,3,4,5]  ,求y

        y = [i**2+5  for  i in x]

      要求:将两个列表,将attributes作为键,与values中每个列表中的值,两两对应组成一个字典,输出为一个字典组成的列表
      attributes = ['name', 'dob', 'gender']
      values = [['jason', '2000-01-01', 'male'],
          ['mike', '1999-01-01', 'male'],
          ['nancy', '2001-02-01', 'female']]

      # expected output:
      [{'name': 'jason', 'dob': '2000-01-01', 'gender': 'male'},
      {'name': 'mike', 'dob': '1999-01-01', 'gender': 'male'},
      {'name': 'nancy', 'dob': '2001-02-01', 'gender': 'female'}]

      

      #单条语句

      y =[dict(zip(attributes,value))   for  value  in  values]

      # 多层循环

      s = []

      for value in values:

        item = {}

        for index,key in enumerate(attributes): 

          item[key] = value[index]

        s.append(item)

          

     

      

      

  • 相关阅读:
    JS面向对象的程序设计
    dede 调用自定义图片时新增了很多html结构的解决方法
    dedecms arclist 栏目文章列表调用标签
    POJ 3145 Harmony Forever
    URAL K-based Numbers(1-3)
    POj 3420
    Ural 1004 FLOYD最小环问题
    noip2016提高组总结
    POJ 2566 Bound Found
    POJ 1639度限制生成树
  • 原文地址:https://www.cnblogs.com/wl413911/p/12976882.html
Copyright © 2020-2023  润新知