python3列表生成式中的for循环与普通放在外面的for循环细微差异
实例:
给定列表alist = [1,2,3,4,5,6,7],k=3
想要使用for循环达成输出[5,6,7,1,2,3,4]
1.用外面的for循环做:

alist = [1,2,3,4,5,6,7]
k = 3
for _ in range(k):alist[0:0] = [alist.pop()] # 依次取出7,6,5,先取先放
print(alist)

得到:# 依次取出7,6,5,先取先放
[5, 6, 7, 1, 2, 3, 4]
2.用列表生成式的for循环:

alist = [1,2,3,4,5,6,7]
k = 3
alist[0:0] = [alist.pop() for _ in range(k)]
print(alist)

得到:
[7, 6, 5, 1, 2, 3, 4]

消除差异:
可以利用列表生成式先排列成list后才赋值的这一特性,先从倒数第K(3)个开始pop,就可以达到相同的效果:

alist = [1,2,3,4,5,6,7]
k = 3
alist[0:0] = [alist.pop(-i) for i in range(k,0,-1)]
print(alist)

结果:
[5, 6, 7, 1, 2, 3, 4]

python3列表生成式中的for循环与普通放在外面的for循环细微差异相关推荐

  1. python3 列表生成式,字典生成式,generator列表生成器的应用

    # -*- coding:utf-8 -*-# 列表生成式是快速生成一个列表的一些公式 numbers = [] for x in range(0,101):numbers.append(x) pri ...

  2. python3 列表生成式

    列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, ...

  3. python中的列表生成式_Python中的列表生成式

    列表生成式 抛出一个问题,创建一个从1到100的列表,该怎么写: while li = [] i = 1 while i <= 100: li.append(i) i += 1 print(li ...

  4. python中列表生成式strip_python之列表生成式

    要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, ...

  5. python生成有条件的列表_python复杂列表生成式教程

    本文主要讲解python列表生成式的实际运用实例!希望对初学者有帮助! 1.复杂的列表生成式HTML表格: 注:字符串可以通过%进行格式,用指定的参数化代替%s.字符串的join()方法可以把一lis ...

  6. 【廖雪峰python入门笔记】列表生成式

    1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, ...

  7. Python高级特性:切片、迭代、列表生成式、生成器与迭代器

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 接着廖雪峰老师的学习教程,小编要开始加快推进Python的学习进程 ...

  8. Python 基础教程:切片、迭代和列表生成式

    Python编程中,你如果要编写出很多有用的程序,必须掌握数据类型.语句和函数.对于Python编程,原则有二:一是代码不是越多越好,而是越少越好:二是代码不是越复杂越好,而是越简单越好.你还想&qu ...

  9. 【Python基础】Python高级特性:切片、迭代、列表生成式、生成器与迭代器

    接着廖雪峰老师的学习教程,小编要开始加快推进Python的学习进程了.今天的笔记内容是Python高级特性,其中包括快速访问对象类型元素的切片.循环中的迭代意义.方便的列表生成式操作以及生成器和迭代器 ...

最新文章

  1. python实现观察者模式_观察者模式--python
  2. ThinkPHP关联模型详解
  3. PHP版本的Graphviz样例之集群流程图
  4. ++和+的运算优先级和++i和i++混合用法解析
  5. H.264编解码标准的核心技术(提供相关流程图)
  6. 美团点评金融平台Web前端技术体系
  7. QT5更改应用程序图标
  8. python之文件读写
  9. 《网络攻防》第五周作业
  10. 下载与eclipse匹配的hibernate tools
  11. 数据共享,回调函数,threading模块,守护线程
  12. 经典回顾——2012年度最佳网页设计作品出炉【下篇】
  13. ImportError: cannot import name ‘abs‘
  14. 书籍-分布式系统常用技术及案例分析
  15. 根据银行卡号码获取银行卡归属行以及logo图标
  16. java求极限值_高等数学——讲透求极限两大方法,夹逼法与换元法
  17. SEO和SEM的区别是什么?
  18. 双人五子棋游戏用C++实现
  19. pygame鼠标进行拖拽移动图片、缩放、以及按钮响应 案例
  20. 东半球最好的SecureCRT高级教程

热门文章

  1. java守护线程和用户线程的区别
  2. 进程的静止和活动状态
  3. java 判断数字变化增减_java String 强化操作 判断数字 字符串转阿拉伯数字,相似度等等...
  4. 实体词典 情感词典_tidytextpy包 | 对三体进行情感分析
  5. qt 获取本机的wifi密码_还在记密码?这款开源免费的账号密码管理神器赶紧收了...
  6. 如何重做计算机系统软件,电脑卡如何一键重做Win7旗舰版
  7. Django中的F对象和Q对象
  8. python简易停车系统
  9. 执行Hive语句报错:FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user '
  10. frp对http协议应用