网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月04日
漏签
0
天
开课吧python吧
关注:
361
贴子:
4,050
看贴
图片
吧主推荐
游戏
首页
上一页
1
2
3
下一页
尾页
32
回复贴,共
3
页
,跳到
页
确定
<<返回开课吧python吧
>0< 加载中...
回复:【开课吧python】Python中的list和tuple如何使用
只看楼主
收藏
回复
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:
>>> p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
要拿到'php'可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。
广告
立即查看
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果一个list中一个元素也没有,就是一个空的list,它的长度为0:
>>> L = []
>>> len(L)
0
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
>>> classmates = ('Michael', 'Bob', 'Tracy')
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,比如:
>>> t = (1, 2)
>>> t
(1, 2)
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果要定义一个空的tuple,可以写成():
>>> t = ()
>>> t
()
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
但是,要定义一个只有1个元素的tuple,如果你这么定义:
>>> t = (1)
>>> t
1
广告
立即查看
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,)
>>> t
(1,)
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
最后来看一个“可变的”tuple:
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个tuple定义的时候有3个元素,分别是'a','b'和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
别急,我们先看看定义的时候tuple包含的3个元素:
广告
立即查看
语子易
知名人士
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示