zoukankan      html  css  js  c++  java
  • python中推导式创建序列

    1、列表推导式

      列表推导式生成列表对象,语法如下: [ 表达式  for item  in  可迭代对象]   

                     或者    [ 表达式  for item  in  可迭代对象  if  条件判断]  

    >>> [x*2 for x in range(1,5)]
    [2, 4, 6, 8]
    >>> [x*2 for x in range(1,20) if x%5==0]
    [10, 20, 30]

    2、字典推导式

      字典的推导式生产字典对象,格式如下:{key_expression :value_expression   for  表达式  in  可迭代对象}   

    统计下面文本中字符出现的次数

    >>> my_text = "i love you,i love python,i love world"
    >>> char_count = {c:my_text.count(c) for c in my_text}
    >>> char_count
    {'i': 3, ' ': 6, 'l': 4, 'o': 6, 'v': 3, 'e': 3, 'y': 2, 'u': 1, ',': 2, 'p': 1, 't': 1, 'h': 1, 'n': 1, 'w': 1, 'r': 1, 'd': 1}

    3、集合推导式

      集合推导式生产集合,它和列表推导式的语法格式类似: {表达式  for item  in  可迭代对象}

                             或者    {表达式  for item  in  可迭代对象  if  条件判断}

    4、生成器推导式(生产元组)

      一个生成器只能运行一次,第一次迭代可以得到数据,第二次迭代发现数据已经没有了。

    >>> gnt = (x*2 for x in range(1,5))
    >>> gnt
    <generator object <genexpr> at 0x0000029ADC1AC0C0>
    >>> tuple(gnt)
    (2, 4, 6, 8)
    >>> tuple(gnt)
    ()

      

  • 相关阅读:
    08-12 NOIP模拟测试18
    08-09 NOIP模拟测试15
    08-11 NOIP模拟测试17
    08-10 NOIP模拟测试16
    08-07 NOIP模拟测试14
    08-03 NOIP模拟测试12
    [SDOI2011]拦截导弹
    08-01 NOIP模拟测试11
    零散知识点
    07-29 NOIP模拟测试10
  • 原文地址:https://www.cnblogs.com/gaojr/p/12130397.html
Copyright © 2011-2022 走看看