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

  一个简单平方

  普通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. django学习-数据库配置-创建模型

    数据库配置 在mysite/settings.py中,包含了django项目设置的python模块 通常,这个配置文件使用SQLite作为默认数据库.如果你不熟悉数据库,或者只是想尝试下django, ...

  2. Druid(数据库连接池) 学习资料

    学习资料 网址 官方文档 https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 主流Java数据库连接池 ...

  3. Mysql8.0中caching_sha2_password报错解决

    https://blog.csdn.net/litte_frog/article/details/80874105

  4. %STSADM% -o addsolution -filename AEMediaPlayerWebpart.wsp

    SET STSADM="c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\bin\STSADM. ...

  5. jenkins+maven+svn 持续集成环境搭建

    说明:部署传统的web应用(.war) 准备工作: (1) 系统环境:CentOS7 (2) 安装JDK:https://www.cnblogs.com/myitnews/p/11493847.htm ...

  6. svn版本库操作(四)

    一.使用命令行模式访问 SVN 服务器 1. 检出(checkout) (1) 首先进入自己的工作目录,例如:D:\svnSpace cd D:\svnSpace (2) 运行 svn checkou ...

  7. 【java】[null]的问题

    这么写逻辑就有问题,改成下面的

  8. [LeetCode] 44. Wildcard Matching 外卡匹配

    Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '? ...

  9. [LeetCode] 916. Word Subsets 单词子集合

    We are given two arrays A and B of words.  Each word is a string of lowercase letters. Now, say that ...

  10. shell之startup

    #!/bin/sh # # # # PROJECT=$ APPWORK_DIR=~/apps/$PROJECT LOGPATH=~/logs/$ LOGFILE=~/logs/$PROJECT/${P ...