博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础(三)
阅读量:4938 次
发布时间:2019-06-11

本文共 1642 字,大约阅读时间需要 5 分钟。

切片

只用一个 : ,表示从头到尾:

>>> L[:]['Adam', 'Lisa', 'Bart', 'Paul']

切片操作还可以指定第三个参数:第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。

迭代

迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用 for 循环总是可以依次取出集合的每一个元素。

*注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:

1 有序集合:list,tuple,str和unicode;

2 无序集合:set;

3 无序集合并且具有 key-value 对:dict;

例题:请用for循环迭代数列 1-100 并打印出7的倍数。

for i in range(1, 100)[6::7]:    print i

Python中,迭代永远是取出元素本身,而非元素的索引。

想要取出索引要用enumerate() 函数

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> for index, name in enumerate(L):...     print index, '-', name... 0 - Adam1 - Lisa2 - Bart3 - Paul

enumerate() 函数把:

['Adam', 'Lisa', 'Bart', 'Paul']
变成了类似:
[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]
因此,迭代的每一个元素实际上是一个tuple:

for t in enumerate(L):    index = t[0]    name = t[1]    print index, '-', name

索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。

  1. values() 方法实际上把一个 dict 转换成了包含 value 的list。

  2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。

  3. 打印 itervalues() 发现它返回一个 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。

如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。

利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。

注意三种方法的思想

L=[]for x in range(1,10):    for y in range(10):        for z in range(1,10):            if x==z :                L.append(100*x+10*y+z)print Lprint [100 * x + 10 * y + z for x in range(1, 10) for y in range(10) for z in range(10) if x==z]print [x for x in range(100,1000) if str(x)[0]==str(x)[-1]]

转载于:https://www.cnblogs.com/ulrica/p/8934071.html

你可能感兴趣的文章
第二冲刺阶段计划
查看>>
Redis 安装与配置
查看>>
spark[源码]-TaskSchedulerlmpl类源码
查看>>
crm
查看>>
一道面试题
查看>>
C语言第三次作业
查看>>
从零开始学算法:高精度计算
查看>>
golang实现udp接入服务器
查看>>
iphone AES加密
查看>>
三星S4 i9508 4.4.2 root 教程
查看>>
二进制运算
查看>>
黄聪:分享几个免费IP地址查询接口(API)
查看>>
黄聪:win7搜索功能不见了,按WIN+F会弹出:search: 没有注册类
查看>>
JAVA jdbc连接数据库
查看>>
爬虫库之BeautifulSoup学习(二)
查看>>
Codeforces Round #514 (Div. 2)题解
查看>>
bnu 10783 格斗游戏 线段与圆的关系
查看>>
App应用市场的注意事项
查看>>
CSS3动画
查看>>
梦断代码阅读笔记三
查看>>