python学习笔记(15)循环设计

原链:http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html

注意:zip()在python2 3里面不一致

#第15讲 循环设计#循环在前面是有学习的,简单的循环for i in range(10):print (i**2)#上面就是很简单的循环#range()

s = 'abcdefghijk'for i in range(0, len(s), 2):#从下标0开始,到len()函数返回的元素数,然后步长 step 为2print (s[i])#输出结果:a c e g i k
#步长 step 这个概念 是之前学习list里面下标的时候引入的一个概念
#range 函数,分别定义上限 下限 每次循环的步长
#list 里面是用 :来隔开的#注意 range 产生的数是没有上限的for i in range(0, 5, 2):print (i)#输出: 0,2,4#enumerate()for (index, char) in enumerate(s):print (index, char)'''
输出结果:
0 a
1 b
2 c
3 d
4 e
5 f
6 g
7 h
8 i
9 j
10 k
'''#输出结果来看,enumerate()函数,返回的是一个 tuple ,然后两个元素赋予 index char
#把下标 和 元素 都打印出来  char 字符  C语言用的更多#zip()
m1 = [1, 2, 3]
m2 = [9, 8, 7]
m3 = ['a', 'b', 'c']for (a,b,c) in zip(m1,m2,m3):print ((a,b,c))#输出结果:(1, 9, 'a')
#(2, 8, 'b')
#(3, 7, 'c')#zip()函数,就是从多个list,依次取出一个元素,每次取出的(来自不同list)元素合并成一个tuple,并返回
#zip()函数,聚合列表的功能# for 后面3个变量,一定是list里面足够的,list里面有4个也是可以的,m1= [1,2,3,4]
#输出是不变的,但是for 后面变4个变量,就会报错
#ValueError: not enough values to unpack (expected 4, got 3)
#只获取到3个变量,期望是4个变量

m1 = [1,2,3]
m2 = [9,8,7]zipped = zip(m1,m2)#zip() 从list m1 m2各抽取一个元素,组成tuple,赋给zipped
print (*zipped)
#输出:(1, 9) (2, 8) (3, 7)

list(zip(m1,m2))
#输出list:[(1, 9), (2, 8), (3, 7)]
#这是聚合#分解列表
#zip函数在python2 3里面表现不一致
#python2 实现如图

然后继续python3的zip()

#python3

x = (1,2,3)
y = (4,5,6)
z = (7,8,9)n = list(zip(x,y,z))
print (n)
#[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

m = list(zip(*n))
print (m)
#[(1, 2, 3), (4, 5, 6), (7, 8, 9)]#都通过list 来实现#按照官方文档
x = (1,2,3)
y = (4,5,6)
zipped = zip(x,y)
list(zipped)
#[(1, 4), (2, 5), (3, 6)]#注:自己尝试
print (zipped)
<zip object at 0x0000023A74ED6748>
print (list(zipped))
[(1, 4), (2, 5), (3, 6)]#继续文档
x2, y2 = zip(*zip(x, y))#这里zip(x,y) 不能用zipped,虽然我们前面赋值了,python会认为没有足够的值去解
x2
#(1, 2, 3)
y2
#(4, 5, 6)

posted on 2017-10-18 10:43 liyihao 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/liyihao/p/7685494.html

python学习笔记(15)循环设计相关推荐

  1. Python学习笔记——for循环和range函数

    Python学习笔记--for循环和range函数 Python的for循环 for 目标 in 表达式 :循环体 案例一 >>> example = 'abcdef' >&g ...

  2. Python学习笔记:循环语句

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  3. python学习笔记二— 循环

    程序结构 •三种结构◾顺序 ◾循环 ◾分支 分支结构 •分支结构基本语法◾if (如果) 条件表达式: ◾语句1 ◾语句2 ◾语句3 ◾- •条件表达式就是计算机结果必须为 布尔值 的表达式 •表达式 ...

  4. Python 学习笔记9 循环语句 For in

    For in 循环主要适用于遍历一个对象中的所有元素.我们可以使用它遍历列表,元组和字典等等. 其主要的流程如下:(图片来源于: https://www.yiibai.com/python/pytho ...

  5. python 学习笔记 while循环

    """练习7-8:熟食店 创建一个名为sandwich_orders的列表,在其 中包含各种三明治的名字,再创建一个名 为finished_sandwiches的空列表. ...

  6. python 学习笔记 - for循环: 字典遍历, 分别打印key, value, key:value

    #遍历字典, 分别打印key, value, key:value emp = {'name':'Tom', 'age':20, 'salary' : 8800.00}for k in emp.keys ...

  7. Python学习笔记19:列表 III

    Python学习笔记19:列表 III 其实这篇笔记标题应该是列表扩展,从列表开始,将涵盖Python中的序列容器. 关于列表的基础知识,可以看我的前两篇文章: Python学习笔记1:列表. Pyt ...

  8. Python学习笔记三之编程练习:循环、迭代器与函数

    Python学习笔记三之编程练习 1. 编程第一步 # 求解斐波纳契数列 #/user/bin/python3#Fibonacci series:斐波那契数列 #两个元素的总和确定了下一个数 a,b= ...

  9. Python学习笔记--exe文件打包与UI界面设计

    exe文件打包与UI界面设计 前言 一.基于tkinter实现的UI设计 1.1 库的选择及思路 1.2 定位方法的选用 1.3 Frame控件 1.4 变量设置 1.5 批量设置 1.6 Text文 ...

最新文章

  1. 带权重的随机输出数组中的元素
  2. Python的subprocess子进程和管道进行交互
  3. Java的未来:百家争鸣的JVM
  4. python中函数修饰符_python中的函数修饰符
  5. android o测试版,一加手机可升级!谷歌已正式推送Android O测试版系统
  6. ACM PKU1703 Find them, Catch them
  7. 开发指南专题十六:JEECG微云快速开发平台Excel导出
  8. 使用vue来开发一个下拉菜单组件(1)
  9. easyphp 登陆mysql_EasyPHP/phpmyadmin 尝试连接到 mysql 服务器 但服务器拒绝连接
  10. OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
  11. [COURSE_PTHE] 4. 枚举
  12. 如何成为一个优秀的C++开发工程师?
  13. 递归问题学习三之生成指定字符串的全排序
  14. 一篇文章为何能引起公众对联想那么多的争议?
  15. 深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)
  16. PCB设计-Allegro软件入门系列第十四讲-设计参数配置(上)
  17. TOM企邮、腾讯企邮、网易企邮、263企邮,四大企业邮箱实测:谁是最实用的企业邮箱产品?
  18. 如何在 Linux 中查找一个文件
  19. 脱胎于沃尔沃的Polestar 2浮出水面,它真能挑战Model 3吗?...
  20. 前端开发者应该知道的 CSS 小技巧

热门文章

  1. Java(Android)线程池
  2. Client does not support authentication protocol requested by server;
  3. GridControl动态添加 颜色列
  4. 一个产品留言统计查寻的分析比较
  5. Vue warn Failed to mount component: template or render function not defined
  6. typescript 类型映射 (ReadOnly、Partial)
  7. [pytorch、学习] - 9.2 微调
  8. 如何使用DNS反向映射来扫描IPv6地址?
  9. 如何选择合适的监视器?
  10. Hibernate5-多对1(n:1)-fetch=join