小甲鱼python零基础入门 学习笔记 ——元组

元组:戴上了枷锁的列表

1,  定义元组

简单来说:元组就是不能修改值的列表,即不可变的列表。如果需要存储的一组值在程序的整个生命周期内不变,可使用元组。

元组与列表在代码上的区别:元组的定义用(),类型是tuple//列表的定义用[],类型是list

>>> name_list=['peter', 'william', 'jack', 'tom', 'alice', 'jim']
>>> type(name_list)

>>> name_list=('peter', 'william', 'jack', 'tom', 'alice', 'jim')
>>> type(name_list)

注:如果只是创建一个单个元素的tuple,必须要在其后加一个“,”,这样子系统才能确认是元组,而不是int整型

示例:

>>> temp=(1)
>>> temp
1
>>> type(temp)

>>> temp=()
>>> temp=(1,)
>>> type(temp)

元组与列表在修改元素上的差别示例:

>>> name_list=['peter', 'william', 'jack', 'tom', 'alice', 'jim']
>>> type(name_list)

>>> name_list[0]='peterking'
>>> name_list
['peterking', 'william', 'jack', 'tom', 'alice', 'jim']#列表可以修改元素

>>> name_list=('peter', 'william', 'jack', 'tom', 'alice', 'jim')
>>> type(name_list)

>>> name_list[0]='peterking'
Traceback (most recent call last):
  File "", line 1, in 
    name_list[0]='peterking'
TypeError: 'tuple' object does not support item assignment   #报错,元组无法修改元素

2,遍历元组中所有的值

   与列表相同,可以使用for循环来遍历元组中的所有值

>>> name_list=('peter', 'william', 'jack', 'tom', 'alice', 'jim')
>>> for name in name_list:
	print(name)

peter
william
jack
tom
alice
jim

3,修改元组变量

   如果需要对元组内元素的值进行修改,则需要重新定义整个元组

>>> number_list=(1,2,3,4,5)
>>> number_list[4]='6'
Traceback (most recent call last):
  File "", line 1, in 
    number_list[4]='6'
TypeError: 'tuple' object does not support item assignment
>>> number_list=(1,2,3,4,6)
>>> number_list
(1, 2, 3, 4, 6)

如果我们需要增加元素进元组,可以采用这样的方式。需要注意的是加入的元素的表达必须要是元组类型,否则会报错。

>>> temp=('peter', 'william', 'jack', 'tom', 'alice', 'jim')
>>> temp=temp[:2]+'john'+temp[2:]
Traceback (most recent call last):
  File "", line 1, in 
    temp=temp[:2]+'john'+temp[2:]
TypeError: can only concatenate tuple (not "str") to tuple
               
>>> temp=temp[:2]+('john')+temp[2:]
Traceback (most recent call last):
  File "", line 1, in 
    temp=temp[:2]+('john')+temp[2:]
TypeError: can only concatenate tuple (not "str") to tuple

>>> temp=temp[:2]+('john',)+temp[2:]
>>> temp
('peter', 'william', 'john', 'jack', 'tom', 'alice', 'jim')
>>> 

4,Python的回收机制 

  1,变量名没有固定分配内存空间

  2,如果没有标签,就会被回收

你可能感兴趣的:(python入门)