切片

序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素。这种访问序列的方式叫做切片。

  • 可以使用切片操作的数据类型:list、tuple、字符串。
  • 切片操作的区间是左闭右开。
  • 切片操作的操作符::[] [:] [::]
    L = [‘Michael’, ‘Sarah’, ‘Tracy’, ‘Bob’, ‘Jack’]

#取L中的前三个数据
print(L[0:3]) #[‘Michael’, ‘Sarah’, ‘Tracy’]

#从索引 1 开始,取出 2 个元素出来:
print(L[1:3])#倒数索引取元素:
print(L[-2:-1])
print(L[-1:])
print(L[-2:])  #原样复制
print(L[:]) #从头到尾间隔20取数
L1 = list(range(100))
print(L1[::20])

执行结果:

['Michael', 'Sarah', 'Tracy']
['Sarah', 'Tracy']
['Bob']
['Jack']
['Bob', 'Jack']
['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
[0, 20, 40, 60, 80]

迭代

给定一个list或者tuple,通过for循环来遍历这个list或者tuple、这种遍历就是迭代(iteration)。
常见的可以迭代的对象有:字符串,列表,元组,字典。

对字典迭代

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
d={'python':1,'php':2,'java':3}#默认迭代的是key
print("字典默认迭代key:")
for i in d:print(i)print("字典自定义迭代key:")
#自定义迭代key
for key in d.keys():print(key)print("字典自定义迭代value:")
#迭代value
for value in d.values():print(value)print("字典自定义同时迭代key和value:")
#同时迭代key,value
for k , v in d.items():print(k,v)

执行结果:

字典默认迭代key:
php
java
python
字典自定义迭代key:
php
java
python
字典自定义迭代value:
2
3
1
字典自定义同时迭代key和value:
php 2
java 3
python 1

对列表迭代

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#对于一个列表
lanage=['python','php','java','c++']# 第一种:
print("list迭代第一种方法:")
for x in range(len(lanage)):print(x,lanage[x])
# 第二种:
print("list迭代第二种方法:")
for i ,value in enumerate(lanage):print(i,value)#在同一行输出:
print("list迭代同一行输出:")
for i ,value in enumerate(lanage):print(i,value ,end=',')

执行结果:

list迭代第一种方法:
0 python
1 php
2 java
3 c++
list迭代第二种方法:
0 python
1 php
2 java
3 c++
list迭代同一行输出:
0 python,1 php,2 java,3 c++,

列表生成式

对列表里面的数据进行运算和操作,生成新的列表最高效快速的办法是列表生成式。

# 使用列表生成式对列表数平方b = range(1, 11)
c = [x*x for x in b]
print(c)执行结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

带if判断

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 提取大于0的数
c = [1, 3, -3, 4, -2, 8, -7, 6]
d = [x for x in c if x > 0]
print(d)执行结果:[1, 3, 4, 8, 6]

多个参数

L = [m + n for m in 'ABC' for n in 'XYZ']
print(L) 执行结果:['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

Python教程:切片、迭代、列表生成式相关推荐

  1. Python基础笔记(四)切片、列表生成式、迭代

    切片 切片操作是用来取list的前N个元素,当然我们可以用循环来实现这个操作 def qu(l,num):x=0L2=[]while x<num: L2.insert(x,L[x]) x=x+1 ...

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

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

  3. Python基础入门之列表生成式

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

  4. Python高级特性:列表生成式

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

  5. 【Python中的】列表生成式和字典生成式以及内置函数

    前言: 在Python中可以使用列表生成式进行代码的简化,并且提高代码的运行效率, Python中的内置函数可以使得在工作需求中,进行简单的代码运算并且不再进行 相应的函数定义,可以提高工作效率,本篇 ...

  6. python 通过索引迭代列表_Python的索引迭代

    Python中,迭代永远是取出元素本身,而非元素的索引. 对于有序集合,元素确实是有索引的.有的时候,我们确实想在 for 循环中拿到索引,怎么办? 方法是使用 enumerate() 函数: > ...

  7. python教程:将一个列表切分成多个小列表

    list是python中较为常见的数据类型,它是一个可迭代对象,迭代是什么?简单的可以理解成:一个可以被for循环遍历的对象 今天拿到一个类似这样的list list_info = ['name zh ...

  8. python find函数 和index的区别_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...

    在练习日4中,小鱼给大家讲述了神秘的ASCII码编译及解密过程. 在ASCII码中,字符与十进制数字的互相转换是通过 ord()函数和chr()函数. 今天小鱼要给大家介绍另一种在影视剧.侦探小说中更 ...

  9. python 通过索引迭代列表_python – NumPy – 迭代2D列表和打印(行,列)索引

    使用NumPy和/或Pandas处理2D列表时遇到困难: >获取所有元素的唯一组合的总和,而无需再次从同一行中选择(下面的数组应该是81种组合). >打印组合中每个元素的行和列. 例如: ...

  10. python列表所有元素平均值_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...

    在练习日4中,小鱼给大家讲述了神秘的ASCII码编译及解密过程. 在ASCII码中,字符与十进制数字的互相转换是通过 ord()函数 和 chr()函数. 今天小鱼要给大家介绍另一种在影视剧.侦探小说 ...

最新文章

  1. matlab uitree update,elementUI tree 懒加载 更新节点
  2. 测试你的前端代码 - part3(端到端测试)
  3. 日期天数转换c语言程序,C语言 ---计算连个日期之间的天数转换
  4. github 参与开源_开源桥吸引了独特的演讲者和参与者
  5. 机器学习算法总结之XGBoost(下) 实战与调参
  6. FastDFS 分布式文件系统(部署和运维)
  7. Hololens中的虚拟物体通过Vuforia的码实现虚实融合打开hololens像机
  8. python中bif是什么_python类与对象(BIF详细分析及实例讲解)
  9. html怎么打开成word,html怎么打开Word文档
  10. pytorch 安装教程
  11. 深圳大学使用路由器登陆校园网,openwrt登陆drcom,d版教程
  12. 自动化测试运维|Selenuim IDE使用Firefox
  13. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?
  14. 软件工程第一次作业:写一篇自己的博客
  15. pe怎么安装kali linux,U盘+kali+pe三合一教程!装机,存储,渗透,persistence存储问题解决!...
  16. Zotero——一款文献管理工具
  17. java tts开源,程序员罗杰-开源的TTS软件Flite从安装到使用
  18. wdr6500虚拟服务器,TP-Link TL-WDR6500双频无线路由器的安装教程
  19. 【阿里云】 混合云备份服务(HBR)的本地备份配置流程简述
  20. Kubernetes安装系列之Dashboard安装

热门文章

  1. 使用Docker搭建WordPress博客(三)nginx镜像制作
  2. 编译时MSIL注入--实践Mono Cecil(1)
  3. xcode 编译时有相同的类,导致冲突,编译错误
  4. pInvokeStackImbalance 调试异常的解决办法。
  5. 2015级C++第10、11周程序阅读 继承和派生
  6. VirtualBox中修改Ubuntu-server分辨率
  7. 程序员,请不要抢系统管理员的饭碗
  8. 使用ORM Profiler分析数据访问性能
  9. 【温故知新】HTML学习笔记(上)
  10. SAP HANA云平台YaaS,你不知道的三件事