飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
p40
元组  tuple
:属于不可变序列,用法和列表差不多。
1.通过()创建元组,小括号可以省略。
a = (10,20,30)  或者  a = 10,20,30
注释:如果元素只有一个,则必须后面加逗号,因为解释器会把(1)解释成1,(1,)解释成元组。
2 . 通过tuple()创建元组:
>>> b = tuple()
>>> b
()
>>> b = tuple("abc")
>>> b
('a', 'b', 'c')
>>> b = tuple(range(3))
>>> b
(0, 1, 2)
>>> b  = tuple([2,3,4])
>>> b
(2, 3, 4)
>>>   

3  元组对象的删除:
>>>del b

p41:

1,元组的元素不可以修改:
>>> a =(1,2,3)
>>> a[1]=6
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    a[1]=6
TypeError: 'tuple' object does not support item assignment
>>> 
2 . 也可以用切片。
3.元组的排序:只能用内置函数 sorted(),并生成新的对象。
>>> a = (20,30,40,10)
>>> sorted(a)
[10, 20, 30, 40]
>>> a
(20, 30, 40, 10)
>>> b = sorted(a)
>>> b
[10, 20, 30, 40]
>>> 

4.  zip 对象将列表对应元素组合成元组,并且返回这个zip 对象,通常再用list函数列出来。
>>> a = [10,20,30]
>>> b = [40,50,60]
>>> c = [70,80,90]
>>> d = zip(a,b,c)
>>> d
<zip object at 0x035572B0>
>>> list(d)
[(10, 40, 70), (20, 50, 80), (30, 60, 90)]
>>> 


5 生成器推导式创建元组。
:>>> s = (x*2 for x in range(5))
>>> s
<generator object <genexpr> at 0x035691F0>
>>> tuple(s)
(0, 2, 4, 6, 8)
>>> list(s)      #只能访问一次,第二次就为空了,需要再生成一次。
[]
>>> s
<generator object <genexpr> at 0x035691F0>
>>> 


posted on 2019-07-24 22:02  飞行的猪哼哼  阅读(24)  评论(0)    收藏  举报