[python基础]-06 使用列表和元祖
2019-07-15 本文已影响0人
一点想法
1.列表 list
列表也是Python的一种数据类型,是可变的数据类型
1.1 list定义
1.是一组有序的元素集合(所以给列表指定 一个表示复数的名称是一个不错的选择names scores等等);
2.元素可以是任意数据类型,可随时添加或删除元素;
3.通过符号方括号[]定义列表;
animals = ['cat','dog','duck'] 列表通过[]来定义,animals就是一个列表集合
lists = ['str',355,3.14,True] 列表可以包含任意类型的元素
1.2 如何访问列表中元素
- 正向访问列表元素
1.通过索引来访问每一个位置的元素,索引从'0'开始计数
2列表最后一个元素索引为:len(list)-1,因为索引是从0开始计数
animals = ['cat','dog','duck']
>>> animals[0] 查询第一个位置元素内容
cat
>>> animals[2] 查询第三个元素,即最后一个元素内容
duck
>>>animals[3] 当索引超出范围时,Python会跑出异常,如下:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
- 逆向访问列表元素
1.如果想访问的元素是列表的最后一个元素,除了计算索引值,也可以直接用-1作为索引访问
animals = ['cat','dog','duck']
>>>animals[-1]
duck
可依次类推
animals[-2] dog
animals[-3] cat
注意:animals[-4]就超出的边界,会报错
1.3 增加及删除列表元素
1.3.1 增加元素
- 向列表尾部添加元素 .appned()
animals = ['cat','dog','duck']
>>>animals.append('fish') 向列表尾部添加一个新的元素fish
>>>animals
['cat','dog','duck','fish']
- 指定列表位置插入元素 .insert(index,value)
animals = ['cat','dog','duck']
>>>animals.insert(1,'butterfuly') 向列表索引为1的位置插入元素butterfuly
>>>animals
['cat','butterfuly','dog','duck']
1.3.2 删除元素
删除元素 .pop()
animals = ['cat','dog','duck']
-1.pop()不传参数,默认删除末尾的元素,并返回该元素的值
>>>animals.pop()
'duck'
>>>animals
['cat','dog']
-2. 传入参数.pop(i)
-传入需要删除元素的索引值
animals = ['cat','dog','duck']
>>>animal.pop(0)
'cat'
>>>animals
['dog','duck']
- 删除元素 使用del语句
animals = ['cat','dog','duck']
>>>del animals[1] tips:这里使用关键字,删除索引为1的元素
>>>animals
['cat','duck']
- 根据元素值删除 remove方法
1.有时候我们不知道元素的所处的位置,只知道元素的值,那么可以通过remove方法来删除
2.如果一个元素在列表中出现多次,remove只删除第一个指定的值,可以通过循环来删除所有的值
>>> names = ['alice','tom','billie']
>>> names.remove('tom')
>>> names
['alice', 'billie']
1.4 组织列表
- 使用sort方法对列表进行永久排序
>>> names = ['alice','tom','Billie','Alan']
>>> names.sort()
>>> names
['Alan', 'Billie', 'alice', 'tom']
- 使用soretd函数对列表进行临时排序
1.按照字母的ascii码进行排序
>>> names = ['alice','tom','Billie','Alan']
>>> sorted(names)
['Alan', 'Billie', 'alice', 'tom']
>>> names
['alice', 'tom', 'Billie', 'Alan']
- 确定列表长度
>>> names = ['alice','tom','Billie','Alan']
>>> len(names)
4
2.元祖 tuple
元祖和列表非常类似,但是tuple一旦初始化就不能修改
2.1 元祖的定义
1.使用()圆括号定义元祖
2.定义只包含一个元素的元祖,表示方式有一点特殊
-元祖的定义
temp = (123,'str1','hello',True)
-包含单个元素的元祖,为了便于和中括号区分,需要加上,区分
temp2 = (123,)
2.2 元祖的特点
1.元祖定义好以后,内部的元素是不可改变的
temp = (123,'str1','hello',True)
>>>temp[0]=345
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
tips:元祖是不可以改变内部的元素,如果强行修改元素内容会报错
3.习题
下列哪些是元祖类型:
A T=()
B P=(1)
C R=[2]
D S=(2,)
E D=(123,'456')