热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

篇首语:本文由编程笔记#小编为大家整理,主要介绍了python学习笔记(15)循环设计相关的知识,希望对你有一定的参考价值。原链:http://www.cnblogs.c

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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 为2
print (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)

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)

 


推荐阅读
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
author-avatar
手机用户2502885441
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有