列表一般表示一个有序的集合。
列表是最常用的Python数据类型,
它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型。
创建一个列表,
只要把逗号分隔的不同的数据项使用方括号括起来即可。
与C语言数组类似,列表元素索引从0开始。
列表可以这么创建
names = ['Google', 'Runoob', 1997, 2000];
numbers = [1, 2, 3, 4, 5 ];
words = ["a", "b", "c", "d"];
当然了,既然不需要类型相同,列表也可以这样
kongming = ['诸葛亮','蜀国',180,54]
列表也可以嵌套,列表包含列表
heros = [['曹操','魏','男',65],['武则天','周','女',82],['张良','汉','男',64],['成吉思汗','元','男',65]]
列表内容的访问与操作
1.访问&修改
访问一个列表中指定元素,与c语言数组都类似
但与之不同的是python可以逆序访问
’而修改则也类似于其他语言。直接修改值。
names = ['Google', 'Runoob', 1997, 2000];
numbers = [1, 2, 3, 4, 5, 6, 7 ];
print ("names[0]: ", names[0])
print("names[-1]: ", names[-1])
print ("numbers[1:5]: ", numbers[1:5])
输出结果如下
names[0]: Google
numbers[1:5]: [2, 3, 4, 5]
names[-1]: 2000
对列表的数据项进行新增,需要使用append()方法来添加列表项
具体实现如下:
list = [] ## 空列表
list.append('1号') ## 使用 append() 添加元素
list.append('2号')
print(list)
就由空列表,变成了新的列表。
对列表数据进行更新,往往还可能需要在指定位置新增。
这就需要insert()函数来帮忙实现。
例如:
heros = ['牛魔', '妲己', '兰陵王']
heros.insert(0, '元歌')
print(heros)
插入新英雄-元歌
输出结果如下。
当列表中有些元素我不需要了。往往需要删除列表。这个时候,del函数就是必须的了。
aoteman = ['佐菲', '杰克', '艾斯' ,'雷德王']
print (aoteman)
del aoteman[-1]
print ("清除怪兽之后:")
print (aoteman)
输出结果:
另外还有一个函数pop()
此时的代码就成了:
aoteman = ['佐菲', '杰克', '艾斯' ,'雷德王']
print (aoteman)
aoteman.pop()
print ("清除怪兽之后:")
print (aoteman)
元组
Python 的元组与列表是相似的,不同之处在于元组的元素不能修改。
那么为什么会需要元组这种东西呢。
一是为了满足特定数据的需要。
二是元组的储存空间小于列表。
另外则是元组的性能是优于列表性能的。
因此,可变用列表,不可变用元组。
(元组使用小括号,列表使用方括号。)
Python元组创建很简单,只需在括号中添加元素,用逗号隔开即可。
关于元组的访问,与列表访问方法相同
names = ('Google', 'Runoob', 1997, 2000);
numbers = (1, 2, 3, 4, 5, 6, 7 );
print ("names[0]: ", names[0])
print("names[-1]: ", names[-1])
print ("numbers[1:5]: ", numbers[1:5])
run结果如下:
names[0]: Google
names[-1]: 2000
numbers[1:5]: (2, 3, 4, 5)
关于元组的修改,元组是不能插入和新增的。
但是却可以运用另外一种方法。与列表一致的连接和复制。
names = ('A', );#注意:如果没有加逗号会按照字符串处理,无法连接
numbers = (1, 2, 3);
names1 = ['A'];
numbers1 = [1, 2, 3];
lianjie=names+numbers
fuzhi=names*4
lianjie1=names1+numbers1
fuzhi1=names1*4
print ("元组连接之后: ", lianjie)
print ("元组复制之后: ", fuzhi)
print ("列表连接之后: ", lianjie1)
print ("列表复制之后: ", fuzhi1)
Run之后结果:
元组连接之后: (‘A’, 1, 2, 3)
元组复制之后: (‘A’, ‘A’, ‘A’, ‘A’)
列表连接之后: [‘A’,1, 2, 3]
列表复制之后: [‘A’, ‘A’, ‘A’, ‘A’]
元组的元素值是不能够被删除的,
但是可以用del()删除整个元组。
以此来实现将整个元组删除。
强调一下
==元组单元素连接时出现的报错困扰了我二十分钟。
这里的,需要被重视。
关于列表和元组还有几个常用函数,比较简单而且实用。