鱼C论坛

 找回密码
 立即注册
查看: 2744|回复: 0

[技术交流] 《零基础入门学习Python》第13讲笔记

[复制链接]
发表于 2017-6-18 22:34:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
013  元组tuple:戴上了枷锁的列表

元组和列表(任意删除/插入元素,很灵活)是相似的,但是一种不可改变的模式。

创建,访问元组,大部分是小括号:
>>> tuple1 = (1, 2, 3, 4, 5)
>>> tuple1[:3]
(1, 2, 3)
(成为tuple:逗号是关键,小括号不是关键)
若只有一个元素:tuple1 = (1, )

eg:
>>> 8*(8)
64
>>> 8*(8,)
(8, 8, 8, 8, 8, 8, 8, 8)

在tuple中插入新的元素的元组(拼接操作符):
>>> temp = ('A', 'B', 'C')
>>> temp = temp[:1]+ ('B2',) + temp[1:]
>>> temp
('A', 'B2', 'B', 'C')
>>> del temp

当元素没有任何标签指向他的时候,内存会被释放。

列表中的in / not in / and / or 等都可以用在tuple中。

课后:
0.        列表:开放的大仓库;元组:封闭的大仓库;
1.        列表:频繁地修改数据时;元组:不希望内容被轻易修改的时候;
2.        列表更灵活;
元组仅有两项功能可用
3.       
>>> x, y, z = 1, 2, 3
>>> type(x)
<class 'int'>
>>> h = x, y, z
>>> type(h)
<class 'tuple'>
4.        是否有元组推导式? 答案是没有,那为何下式没有报错?
>>> tuple1 = (x**2 for x in range(10))
>>> tuple1
因为一不小心拿到了一个生成器:
>>> type(tuple1)
<class 'generator'>

>>> tuple1.__next__()
0
>>> tuple1.__next__()
1
>>> tuple1.__next__()
4


评分

参与人数 2鱼币 +6 收起 理由
康小泡 + 3
小甲鱼 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 14:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表