码迷,mamicode.com
首页 > 其他好文 > 详细

pthon-条件与循环

时间:2020-05-27 22:05:32      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:并行   else   条件与循环   attr   result   app   判断语句   nan   iter   

条件:

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)

      

 

 

  

 

 

 

 

 

 

  

 

pthon-条件与循环

标签:并行   else   条件与循环   attr   result   app   判断语句   nan   iter   

原文地址:https://www.cnblogs.com/wl413911/p/12976882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!