#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 学习网站:www.liaoxuefeng.com
#****************************************************
# Python3 高级特性-切片+迭代 *
#****************************************************
print ("--------------------分割线------------------")
#============
# 切片
#============
# 取一个list或tuple的部分元素
list_a = ['a','b','c','d','e','f','g']
# 取前3个元素,笨办法:
print( list_a[0], list_a[1], list_a[2] ) # a b c
# 取前N个元素,笨办法:
n = 5
for i in range(n):
print( list_a[i],end=' ' ) # a b c d e
print()
# 对这种经常取指定索引范围的操作,用循环十分繁琐,因此,python提供
# 了切片(slice)操作符,能大大简化这种操作。
# 取前3个元素
print( list_a[0:3] ) # ['a', 'b', 'c']
# 如果第一个元素索引是0,还可以省略,取前3个元素
print( list_a[:3] ) # ['a', 'b', 'c']
# 取倒数第一个元素的索引是-1
print( list_a[-1] ) # g
# 取倒数两个元素
print( list_a[-2:] ) # ['f', 'g']
# 取所有元素
print( list_a[:] ) # ['a', 'b', 'c', 'd', 'e', 'f', 'g']
# 前6个元素,每两个取一个
print( list_a[:6:2] ) # ['a', 'c', 'e']
# 所有元素,每三个取一个
print( list_a[::3] ) # ['a', 'd', 'g']
'''
tuple也是一种list,唯一区别是tuple不可变,tuple也可以用切片操作,操作
结果仍是tuple, 字符换也可以用切片,操作结果仍是字符串
'''
print ("--------------------分割线------------------")
#============
# 迭代
#============
'''
给定一个list或tuple,可以通过for循环来遍历这个list或tuple,这种遍历
称为迭代(iteration),python中迭代是通过for...in来完成的。
for...in循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。
只要是可迭代对象,无论有无下标,都可以迭代,比如dict。
'''
dict_a = {'name':'bugliu','gender':'M','age':30}
# dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序可能
# 不一样
# 默认情况下, dict迭代的key
for key in dict_a:
print( key, end=' ' ) # name gender age
print()
# 按dict中的value进行迭代
for value in dict_a.values():
print( value, end=' ' ) # bugliu M 30
print()
# 同时按key和value进行迭代
for key,value in dict_a.items():
print(key,value, end=' ') # name bugliu gender M age 30
print()
# 字符串迭代
for ch in 'bugliu':
print( ch, end=' ' ) # b u g l i u
print()
print ("--------------------分割线------------------")
# 判断一个对象是否为可迭代对象,通过collections模块的Iterable类型判断
from collections import Iterable
# 判断字符串是否可迭代
print( isinstance('abs', Iterable) ) # True
# 判断list是否可迭代
print( isinstance([1,2,3], Iterable) ) # True
# 判断tuple是否可迭代
print( isinstance((1,2,3), Iterable) ) # True
# 判断dict是否可迭代
print( isinstance({'age':30}, Iterable) ) # True
# 判断整数是否可迭代
print( isinstance(123, Iterable) ) # False
print ("--------------------分割线------------------")
# 对list实现下标循环,python内置的enumerate函数可以把一个list变成
# 索引-元素对,这样就可以在for循环中同时迭代索引和元素本身
for i, value in enumerate(['a','b','c']):
print( i, value, end=' ' ) # 0 a 1 b 2 c
print()
相关推荐
PotPlayer自用皮肤
自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。
blog不停更第二弹之虚心请教(QD)
2018年2月28日 Wednesday QDWorks:1.编辑器(Editor)Sublime Text/Notepad++/word# At first, it just like the office word. # But, after we chose view-->syntax-->python, everything changed. # The highlight ...
2-shell及常用命令-续.pdf
2-shell及常用命令-续.pdf
Python3 学习笔记6_字符串_20180224
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 字符串 * #*************************...
Unified Access Control:从NAS到RRC的5G接入控制全流程解析
本文深入解析了5G统一接入控制(Unified Access Control)的全流程,从NAS到RRC的协同工作机制。通过身份核验、业务分类和动态决策三个核心步骤,UAC实现了智能调度和弹性决策,确保海量设备接入时的网络稳定性。文章详细介绍了USIM卡的身份凭证体系、NAS层的业务分类引擎以及RRC层的动态决策机制,并提供了实战案例和常见问题排查方法。
lammps建模(电解液)opls-aa力场的基本流程
lammps建模(电解液)opls-aa力场的基本流程
Python3 学习笔记20_函数式编程-高阶函数-map/reduce_20180312
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-高阶函数-map/reduce * #************************...
OC5021B 100V宽电压输入 LED车灯/大功率照明 DC降压型恒流驱动器
适用于LED大功率汽车大灯/大功率照明 OC5021B 100V宽电压输入 5A电流设计 DC-DC降压型恒流驱动IC
Python3 学习笔记5_数字(Number)_20180223
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 数字(Number) * #***********************...
ESP32C3的I2S接口详解:以驱动PCM5102A为例,避开时序与配置的那些坑
本文深入解析ESP32C3的I2S接口驱动PCM5102A DAC的完整解决方案,涵盖时序对齐、PCB优化和寄存器级配置。通过实际案例分享时钟树分析、信号完整性设计和底层调试技巧,帮助开发者避开常见陷阱,实现高质量音频输出。重点探讨了I2S协议栈、电源滤波优化及DMA传输异常处理等关键技术要点。
FPGA开发者必看:如何用SATA3.0主机控制器IP实现高速存储扩展(附Xilinx实测数据)
本文为FPGA开发者提供了基于SATA3.0主机控制器IP核的高速存储方案设计与优化指南。通过详细解析IP核架构、Xilinx FPGA平台集成实战及性能优化技巧,帮助开发者实现接近理论极限的540MB/s数据传输速度。文章还包含常见问题解决方案和高级应用场景拓展,是硬件工程师提升存储性能的必备参考。
Python3 学习笔记8_元组_20180227
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 元组 * #*************************...
绿盾用户使用看图软件每次都需要把图片解密之后才能打开查看,怎么才能不用这么麻烦打开就能看
Win10专业版绿盾控制台7.0看图软件FastStone Image Viewer。
Python3 学习笔记14_递归函数_20180305
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数 * #************************...
Android14 Qcom 从Framework到Driver带你打开WIFI(二)
上篇文章讲到了UI打开WIFI以后,逐步调用到加载底层驱动以及通知等相关流程。这篇接着上文继续往下看WIFI ON的后续动作。
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
Python3 学习笔记4_运算符_20180223
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 运算符 * #*************************...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
Python3 学习笔记21_函数式编程-高阶函数-filter/sorted_20180312
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-高阶函数-filter/sorted * #*************************...
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
Python3 学习笔记13_函数的参数_20180305
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数 * #************************...
Python3 学习笔记23_函数式编程-匿名函数_20180314
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-匿名函数 * #************************...
Python3 学习笔记11_条件语句_20180301
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 循环语句 * #*************************...
Python3 学习笔记9_字典_20180228
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 字典 * #*************************...
Python3 学习笔记1_基础语法_20180209
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 教程 * #*********************...
Python3 学习笔记10_条件语句_20180228
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 条件语句 * #*************************...
Python3 学习笔记25_函数式编程-偏函数_20180315
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-偏函数 * #************************...
Python3 学习笔记3_基本数据类型_20180222
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 基本数据类型 * #***************************...
520



被折叠的 条评论
为什么被折叠?



