鱼C论坛

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

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

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

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

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

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

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

创建,访问元组,大部分是小括号:
  1. >>> tuple1 = (1, 2, 3, 4, 5)
  2. >>> tuple1[:3]
  3. (1, 2, 3)
复制代码

(成为tuple:逗号是关键,小括号不是关键)
若只有一个元素:tuple1 = (1, )

eg:
  1. >>> 8*(8)
  2. 64
  3. >>> 8*(8,)
  4. (8, 8, 8, 8, 8, 8, 8, 8)
复制代码


在tuple中插入新的元素的元组(拼接操作符):
  1. >>> temp = ('A', 'B', 'C')
  2. >>> temp = temp[:1]+ ('B2',) + temp[1:]
  3. >>> temp
  4. ('A', 'B2', 'B', 'C')
  5. >>> del temp
复制代码


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

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

课后:
0.        列表:开放的大仓库;元组:封闭的大仓库;
1.        列表:频繁地修改数据时;元组:不希望内容被轻易修改的时候;
2.        列表更灵活;
元组仅有两项功能可用
3.       
  1. >>> x, y, z = 1, 2, 3
  2. >>> type(x)
  3. <class 'int'>
  4. >>> h = x, y, z
  5. >>> type(h)
  6. <class 'tuple'>
复制代码

4.        是否有元组推导式? 答案是没有,那为何下式没有报错?
  1. >>> tuple1 = (x**2 for x in range(10))
  2. >>> tuple1
复制代码

因为一不小心拿到了一个生成器:
  1. >>> type(tuple1)
  2. <class 'generator'>

  3. >>> tuple1.__next__()
  4. 0
  5. >>> tuple1.__next__()
  6. 1
  7. >>> tuple1.__next__()
  8. 4
复制代码



评分

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

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 15:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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