热门标签 | 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)

 


推荐阅读
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 在《Python编程基础》课程中,我们将深入探讨Python中的循环结构。通过详细解析for循环和while循环的语法与应用场景,帮助初学者掌握循环控制语句的核心概念和实际应用技巧。此外,还将介绍如何利用循环结构解决复杂问题,提高编程效率和代码可读性。 ... [详细]
  • 2022年Python面试题一.Python基础二.企业面试题结束语🥇🥇🥇✅作者简介:大家好我是编程IDὌ ... [详细]
  • 这是一个愚蠢的问题,但我只是对此感到好奇.假设我在Pythonshell,我有一些我查询的数据库对象.我做:db.query(的queryString)该查询在0xffdf842c ... [详细]
  • 探讨Redis的最佳应用场景
    本文将深入探讨Redis在不同场景下的最佳应用,包括其优势和适用范围。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 在Ubuntu 20.04 Linux系统中部署Git的详细步骤与最佳实践
    在Ubuntu 20.04 Linux系统中部署Git时,首先确保您的操作系统版本正确,并已以具备sudo权限的用户身份登录。推荐使用APT软件包管理器进行安装,这是最简便且可靠的方法。此外,遵循最佳实践,如定期更新Git版本和配置全局设置,可以进一步提升使用体验和安全性。 ... [详细]
  • 基于PythonOCC库,本文探讨了如何实现对曲线边(TopoDS_Edge)进行等间距周长分割的分析方法及其应用。通过使用BRepGProp模块中的线性属性计算功能,我们能够精确地将曲线分割成多个等长段,从而为后续的几何建模和工程应用提供基础支持。该方法不仅提高了曲线处理的效率,还增强了模型的准确性和可靠性。 ... [详细]
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社区 版权所有