Python_tuple

/ Python / 没有评论 / 786浏览

tuple


tuple一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改 元组看起来犹如列表,使用圆括号而不是方括号来标识. 定义元组后就可以使用索引来访问其元素,就像访问列表元素一样

>>> classmates=('lijinghua','duanyuxi','niechongcong')
>>> classmates
('lijinghua', 'duanyuxi', 'niechongcong')

现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0], classmates[-1],但不能赋值成另外的元素。

示范(会报错)!!!!!!!!!

>>> classmates.insert(1,'liadou')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'insert'
>>> tuple = ()
>>> tuple
()

定义一个只有1个元素的tuple

错误的示范

>>> t = (1)
>>> t
1
>>> t=(1,)
>>> t
(1,)

来一个"会变的"的tuple

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

一步一步解释(慢动作)

>>> t=('a','b',['A','B'])
>>> t[2][0]='X'
>>> t
('a', 'b', ['X', 'B'])
>>> t[2][1]='Y'
>>> t
('a', 'b', ['X', 'Y'])

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变

遍历元组中的所有值

像列表一样,也可以使用for循环来遍历元组中的所有值 单词 dimensions = 面积

[root@pa1 lijinghua]#python tuple_for.py
200
50
[root@pa1 lijinghua]#cat tuple_for.py
#!/usr/bin/python
dimensions=(200,50)
for dimension in dimensions:
	print(dimension) 

做一个题

>>> L = [
...     ['Apple', 'Google', 'Microsoft'],
...     ['Java', 'Python', 'Ruby', 'PHP'],
...     ['Adam', 'Bart', 'Lisa']
... ]

分别打印出Apple,Python,Lisa

>>> L
[['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa']]
>>> L[0][0]
'Apple'
>>> L[1][1]
'Python'
>>> L[2][2]
'Lisa'

End

补充于2018.2.7 22:26