列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表

  一个简单平方

  普通for循环

  for i in range(1,5):

  print(i*i,end='')

  列表推导式

  res = [x*x for x in range(1,5)]

  print(res)

  执行顺序

  [x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]

  等价于

  for x in range(1,5):

  if x > 2:

  for y in range(1,4):

  if y < 3:

  return x*y

  leetcode17电话号码的字母组合

  给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

  给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

  这题看起来递归比较合适,但是强行循环也不是不可以

  class Solution:

  def letterCombinations(self, digits):

  m = {

  '2': list('abc'),

  '3': list('def'),

  '4': list('ghi'),

  '5': list('jkl'),

  '6': list('mno'),

  '7': list('pqrs'),

  '8': list('tuv'),

  '9': list('wxyz'),

  }

  if not digits:

  return []

  res = ['']

  for i in digits:

  res = [x + y for x in res for y in m[i]]

  return res

  这里的循环其实不止两层,取决于你输入的数字的位数。可以打印输出看一下,假设输入的数字是234

  ['a', 'b', 'c']

  ['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf']郑州人流多少钱 http://mobile.sgyy029.com/

  ['adg', 'adh', 'adi', 'aeg', 'aeh', 'aei', 'afg', 'afh', 'afi', 'bdg', 'bdh', 'bdi', 'beg', 'beh', 'bei', 'bfg', 'bfh', 'bfi', 'cdg', 'cdh', 'cdi', 'ceg', 'ceh', 'cei', 'cfg', 'cfh', 'cfi']

  第一个2对应的字母是[‘a’, ‘b’, ‘c’]

  第二个3对于的字母是[‘d’, ‘e’, ‘f’]

  第三个4对于的字母是[‘g’, ‘h’, ‘i’]

  开始的时候res长度为1,可以理解为

  res = ['']

  m = ['a', 'b', 'c']

  for x in res:

  tem = []

  for y in m:

  res = x + y

  tem.append(res)

  print(tem)

  当有两个数字时

  res = ['']

  m = ['a', 'b', 'c']

  n = ['d', 'e', 'f']

  tem = []

  for x in res:

  for y in m:

  for k in n:

  res = x + y + k

  tem.append(res)

  print(tem)

  这样一层一层加下去就可以,不过即使知道要循环几次,也很难表达出来,这个时候用列表推导式就很方便

python列表推导式及其简单应用的更多相关文章

  1. Python列表推导式和嵌套的列表推导式

    列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我们想创建一个平方 ...

  2. python 列表推导式 - python基础入门(16)

    截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个 ...

  3. python列表推导式(扫盲)

    1) 简单了解: 所谓的列表推导式,就是指的轻量级循环创建列表. 格式: 列表推导式的常见形式: my_list = [ item for item in iterable] my_list: 列表名 ...

  4. 迭代列表不要For循环,这是Python列表推导式最基本的概念

    如果你还在使用 For 循环迭代列表,那么你需要了解了解列表推导式,看看它的基本概念都是什么. 列表解析式(List comprehension)或者称为列表推导式,是 Python 中非常强大和优雅 ...

  5. python列表推导式详解

    推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...

  6. python列表推导式详解 列表推导式详解 字典推导式 详解 集合推导式详解 嵌套列表推导式详解

    推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...

  7. Python 列表推导式、矩阵、格式化输出

    列表推导式 列表推导式提供了从列表.元组创建列表的简单途径.语法: [表达式 for语句 if语句] 创建并返回一个列表.if语句可选. 示例: list1=[1,2,3,4] #使用元组也行 lis ...

  8. python(列表推导式和生成器表达式)

    从母鸡下蛋的故事讲起 老母鸡 = ('鸡蛋%s'%i for i in range(10)) print(老母鸡) for 蛋 in 老母鸡: print(蛋) g = (i*i for i in r ...

  9. Python列表推导式玩法

    前言 列表做为python的基础,是必须学习的语法之一.一些基础的之前已经是反复温习和使用了,今天我们来学习它的进阶版-->列表推导式. 列表推导式: 优点:是将所有的值一次性加载到内存中,相比 ...

随机推荐

  1. destoon漏洞修复关于 $do->add($post); SQL注入修改

    在阿里云漏洞提示查看发现destoon有关于mobile/guestbook.php $do->add($post); SQL注入修改 漏洞名称:Destoon SQL注入 补丁文件:/mobi ...

  2. 修改woocommerce列表产品显示数量

    WooCommerce列表产品数量默认显示为10,如果是显示3列或4列,则最后一行会有空白留出,为了美观,往往我们要设置显示合适的产品数量.因此,只要把如下代码复制到当前主题的functions.ph ...

  3. zz阿里小蜜—智能服务技术实践及场景探索(AI先行者大会)Final.pdf

    SLQA+ 模型

  4. zz深度学习目标检测2014至201901综述

    论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey  发表于 2019-02-14 |  更新 ...

  5. python3对urllib和urllib2进行了重构

    python3对urllib和urllib2进行了重构,拆分成了urllib.request,urllib.response, urllib.parse, urllib.error等几个子模块,这样的 ...

  6. java-int数据的溢出

    数据的溢出: 当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时, 这个整型变量所输出的值将发生紊乱,且不是预期的运行结果. 01 //  整数值如果超出了自己所可以表示范围的最大 ...

  7. http与tcp,udp的区别

    1.网络协议的概念 (1)在学习网络课程的时候,老师会讲iso七层模型,有应用层 表示层 会话层 传输层 网络层 数据链路层 物理层,其中http就属于应用层,tcp与udp是属于传输层,如图1.1( ...

  8. java基础-温故而知新

    1.类和对象(实例)的关系 类就是对象的抽象(模板),对象就是类的实例 2.java设置模式--代理模式 定义:代理就是中介,例如租房子经常有中介,还有出票软件 飞猪,携程. 3.代理大纲分为两种:静 ...

  9. 多项式 ln

    多项式 ln 定义 \(给一多项式F(x),求G(x)\equiv lnF(x)\pmod x^n\) 前置知识 \(不定积分\) \(微分\) \(多项式乘法逆\) 推式子: \[\because ...

  10. proxy 简化版本

    public interface People { public String eat(String param); } public class Jack implements People { @ ...