list 和 tuple——python基础学习

 

一、list

 

1. 列表list是一种有序的集合,可以随时添加和删除元素,用 [ ] 将其中的元素括起来,如一个班级的姓名 name['小明','小红','小亮']是一个list

 

2. list的索引是从0开始的,还可以用-1做索引直接获取最后一个元素

 

3. 当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len()-1

 

 1 >>> name=['小红','小明','小亮']
 2 >>> name[0]
 3 '小红'
 4 >>> name[1]
 5 '小明'
 6 >>> name[2]
 7 '小亮'
 8 >>> name[-1]
 9 '小亮'
10 >>> name[-2]
11 '小明'
12 >>> name[-3]
13 '小红'
14 >>> name[-4]
15 Traceback (most recent call last):
16   File "<stdin>", line 1, in <module>
17 IndexError: list index out of range
18 >>>

 

3. 可以用len()函数获取list当中元素的个数,若list中没有元素,len的值为0

 

1 >>> len(name)
2 3

 

4. list是一个可变的有序表,可以通过append()方法向list的末尾添加元素

 

1 >>> name.append('小强')
2 >>> name
3 ['小红', '小明', '小亮', '小强']

 

5. 用insert()方法将指定元素插入到指定位置

 

1 >>> name.insert(1,'小张')
2 >>> name
3 ['小红', '小张', '小明', '小亮', '小强']

 

6. 用pop(i)方法删除者指定位置的元素或者用pop()方法删除list末尾的元素

 

 1 #删除位置为1的元素
 2 >>> name.pop(1)
 3 '小张'
 4 >>> name
 5 ['小红', '小明', '小亮', '小强']
 6 #删除末尾的元素
 7 >>> name.pop()
 8 '小强'
 9 >>> name
10 ['小红', '小明', '小亮']

 

7. 要把某个位置的元素换成别的值,可用直接赋值法

 

1 >>> name[0]='小白'
2 >>> name
3 ['小白', '小明', '小亮']

 

8. list中的某个元素也可以是一个list,可以用这种方法看成二维数组

 

1 >>> x=[1,2,3,[4,5,6],7,8]
2 >>> len(x)
3 6
4 >>> y=[4,5,6]
5 >>> x=[1,2,3,y,7,8]
6 >>> x[3][0]
7 4

 

 

二、tuple

 

1. tuple也是一种有序列表,它称为元组,用()将其中的元素括起来。

 

2. tuple与list很相似,不同的是,tuple一旦初始化,就不能修改

 

3. 因为tuple不可变,所以没有append(),pop(),insert()方法,其他获取元素的方法与list是一样的

 

 1 >>> num=(1,2,3)
 2 >>> num[0]
 3 1
 4 >>> num[1]
 5 2
 6 >>> num[2]
 7 3
 8 >>> num[-1]
 9 3
10 >>> num[-2]
11 2
12 >>> num[-3]
13 1

 

4. 当定义一个元组时,元组里的元素就得确定下来

 

1 >>> num=(1,2,3)
2 >>> num
3 (1, 2, 3)

 

5. 定义一个空的元组

 

1 >>> num=()
2 >>> num
3 ()

 

6. 若定义一个只有1个元素的元组,必须得加一个逗号,避免歧义

 

1 >>> n=(1)
2 >>> n
3 1
4 #这里定义的不是tuple,是1这个数。这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1
5 >>> n=(1,)
6 >>> n
7 (1,)
8 #所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义

 

7. tuple里边的元素可以是一个list,这样不可变的tuple就可以变成可变的了,因为list是可变的

 

1 >>> n=(1,2,3,[4,5,6],7,8)
2 >>> n[3][0]
3 4
4 >>> len(n)
5 6

 

上一篇:Swift中的Tuple类型


下一篇:Python3-接口自动化-12- header定义为字典格式,但是报错:for header in headers.items(): AttributeError: 'tuple'