列表是什么
列表是最常用的Python
数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
简单来说列表是由一系列元素按特定顺序排列组成。你可以创建包含字母表中所有字母/数字0-9
或一些字符串的列表;可以将其他数据类型放入列表中,甚至可以将另一个列表放在列表中。
在 Python
中,用方括号[]
来表示列表,并用逗号来分隔其中的元素。
例如:
>>>a = [] #创建一个空的列表
>>>b = [1,2,3,4] #创建一个含数字的大小为 4 的列表
>>>c = [1,'a',2,'b',3,'c',4,'d'] #创建包含多种数据类型的列表
>>>a = [b,c] #创建包含其他列表的列表
>>>print(a)
[[1,2,3,4],[1,'a',2,'b',3,'c',4,'d']]
如何访问列表中的元素
先可以考虑前面所学的字符串类型的数据访问,例如有一字符串: "abcd"
如果我们需要看它的某个特定位置上的字符是什么,则只要知道它的索引位置就行了,索引位置如下图:
字符串 | a | b | c | d |
---|---|---|---|---|
索引 -> | 0 | 1 | 2 | 3 |
索引 <- | 0 | -3 | -2 | -1 |
计算机存储数据的位置都是从0
号位置开始存储的,习惯使用从左往右进行访问,特殊情况可从右往左访问,即从0
号位置开始,到-1
号位置在最右边(最后)往左(前)访问。要访问上面那个字符串"abcd"
中的字符b
的话,我们可以用这样一种形式:
"abcd"[1] #或 "abcd"[-3]
字符b
的索引位置在字符串"abcd"
中为1
(或-3
),所以可以通过加中括号"[]"
(中括号内为索引位置)的形式访问。 通常我们习惯将这个字符串赋值给一个变量然后通过变量名进行操作:
>>> a = "abcd"
>>> print(a[1]) #输出变量a储存的字符串索引位置为2的字符
b
与字符串的索引一样,列表索引从0
开始。列表可以进行截取、组合等。使用索引位置来访问列表中的值,同样你也可以使用方括号的形式访问索引位置,如下所示:
>>> list = ['physics', 'chemistry', 1997, 2000]
>>> print(list[0])
physics
>>> print(['physics', 'chemistry', 1997, 2000][0])
physics
以上两种形式都可以访问列表list
索引位置为0
的数据physics
,第一个通过变量间接访问,第二个是直接访问,形式均为:
列表[索引位置]
可见当一个变量被赋值为某种数据类型时,该变量就相应变为了赋值的数据类型。例如:
>>> a = 10 #此时a的数据类型为整数类型
>>> a = ['physics', 'chemistry'] #此时变为列表
>>> a[1] #对应 列表[索引位置] 的形式来访问特定位置
若要继续访问列表['physics', 'chemistry']
中元素字符串physics
的某个位置上的字符,可继续采用后面加[]
的形式,例如:
>>> a = 10 #此时a的数据类型为整数类型
>>> a = ['physics', 'chemistry'] #此时变为列表
>>> print(a[0]) #打印第一个元素(这里为字符串)
physics
>>> print(a[0][1]) #打印第一个元素的第二个位置上的字符
h
注意[]
内的索引数字大小必须小于要访问元素长度,例如: a = ['physics', 'chemistry']
以a[x]
访问列表元素,则x
要小于列表元素个数2
并且要大于-3
,以a[x][y]
访问列表元素(这里是字符串,单个数据元素不用此操作)内的元素时,则y
要小于列表元素里的元素长度,例如列表0
号元素physics
长度为7
,则y
小于7
,且大于-8
依次类推。 #####列表的相关操作
列表的相关操作有以下几种:
增加元素 通过使用append()
函数来在列表末尾处添加列表元素:
>>> list = [] #创建空列表
>>> list.append('Google') #使用append()添加元素
>>> list.append('Runoob')
>>> print(list)
['Google', 'Runoob'] #结果
添加的元素按append()
函数从上到下的先后顺序在列表中从左至右的顺序存放。
删除元素
通过使用pop()
函数来删除列表末尾处的列表元素:
>>> list = ['Google', 'Runoob']
>>> list.pop()
>>> print(list)
['Google']
这里需要注意的是pop()
函数也可以通过指定索引位置来删除列表特定位置的数据,例如:
>>> list = ['Google', 'Runoob']
>>> list.pop(0)
>>> print(list)
['Runoob']
还可以使用remove()
函数来删除指定的内容:
>>> list = ['Google', 'Runoob']
>>> list.remove('Google')
>>> print(list)
['Runoob']
两种方式都可以将列表中的元素删除,可在不同情形下使用。
替换元素
如果想要改变一个有数据的列表某个特定位置上的数据,我们可以通过类似赋值的方式进行:
>>> list = ['Google', 'Runoob']
>>> list[0] = "Baidu"
>>> print(list)
['Baidu', 'Runoob']
列表运算符
与字符串一样,列表之间可以使用 +
号和 *
号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的列表。
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 计算元素个数 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 连接 |
['Hi!',] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 复制 |
3 in [1, 2, 3] | True | 元素是否存在 |
列表内置函数
Python
列表包含了以下内置函数
函数名 | 描述 |
---|---|
len(list) | 计算列表元素个数。 |
max(list) | 返回列表中元素最大值。 |
min(list) | 返回列表中元素最小值。 |
list(str) | 将字符串转换为列表。 |
#使用逗号运算符给多个变量赋值
t1,t2 = [10,30,50],[20,30,50]
print(len(t1))
print(min(t2))
print(max(t1))
#创建一个字符串a
a = "abcd"
print(list(a))
以上实例输出结果:
3
20
50
['a','b','c','d']
#********* Begin *********#
#第一步 请在列表fruit中找出不属于水果一类元素,赋值给变量 a
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
a =fruit[3]
#第二步 将变量 a 的值添加到列表vegetable 的末尾
vegetable = ["土豆","萝卜","茄子","白菜"]
vegetable.append(a)
#第三步 删去列表fruit中不属于水果的元素
fruit.remove("黄瓜")
#第四步 将列表fruit和列表vegetable作为元素按顺序加入到列表food中
food = []
food.append(fruit)
food.append(vegetable)
#最后打印输出列表food,打印输出列表food中第1个元素的第3个元素
print(food)
print(food[0][2])
#********* End *********#