Python中,列表是由一系元素按特定顺序(索引)构成的数据序列,这样就意味着定义一个列表类型的变量,可以保存多个数据,而且允许有重复的数据。
在Python中我们用 [ ] 来定义一个列表,列表中的元素使用 逗号 分隔
my_list = ["python","java","c","c++"]
my_list2 = ["jack",17]
#使用type函数查看它的类型
print(type(my_list)) #<class 'list'>
print(type(my_list2)) #<class 'list'>
可以看出my_list 和 my_list2 都是我们所说的列表
2.此外我们还可以通过 range 函数来创建列表
nums = list(range(1,6))
print(nums) #[1, 2, 3, 4, 5]
这里通过range函数生成1-5的数字(int)然后再使用list转换成列表的形式
3.列表的索引和字符串的索引是一样的如果不知道的请查看上节的内容
4.列表是一种可变数据类型,也就是说列表可以添加元素、删除元素、更新元素下面我们来介绍这些方法
(1)添加元素
#首先我们先定义一个列表里面有两个元素
my_list = ["python","java"]
#此时我们想往my_list中添加一个“C”元素有两种方法一种是通过append()函数向列表末尾添加,还有一种就是通过insert()函数插
入这个元素
#第一种
my_list.append("C") #append()括号里的为所添加的内容
#第二种
my_list.insert(2,"C") #insert有两个参数一个是要插入列表的位置(索引)第二个是要插入的元素
这里需要注意的是一次只能添加一个元素并不能在括号内写入多个,但是我们可以将要添加的所有元素放在一个列表或其它类型中在通过赋值给一个变量,再将这个变量通过append或insert添加
#定义一个列表
my_list = ["python","java"]
#现在我想将“c”,“c++”,“PHP”一次添加进去
#如果我们这样写
my_list.append("c","c++","php")
TypeError: list.append() takes exactly one argument (2 given)
#可以看到报错了(类型错误:list.append()只接受一个参数(给出2个)),是因为append只接收一个参数。
同样inset也是一样的那么我们就没有办法了吗?当然不是
#可以通过将这些元素赋值给一个变量
#定义一个存放这些元素的列表
list2 = ["c","c++","php"]
#再通过insert或者append添加
my_list.append(list2)
my_list.insert(2,list2)
#下面我们打印出来看一下
print(my_list)
#['python', 'java', ['c', 'c++', 'php']]可以看出已经成功的添加了
(2)删除元素
my_list = ["python","c","java","c++","php"]
#删除元素可以通过del,remove,pop,clear
del my_list[0] #del后面跟删除元素的变量名[]里面是元素的位置(索引)
print(my_list) #["c","java","c++","php"]
my_list.remove("php") #remove()是删除指定的元素,当元素不存在时抛出异常
print(my_list) #["c","java","c++"]
my_list.pop()
'''
pop为随机删除一个元素,并将这个元素返回出来,pop()括号中也可以传入参
数也就是要删除元素的索引如果索引的值超出了范围,会引发IndexError异常,当 当我们要使用这个元素就需要使用一个变量接收
'''
print(my_list) #["c","java"]
my_list.cleare() #clear()为清除列表中的所有元素
print(my_list) #[]
5.元素的位置
列表类型的index
方法可以查找某个元素在列表中的索引位置;因为列表中允许有重复的元素,所以列表类型提供了count
方法来统计一个元素在列表中出现的次数。请看下面的代码。
my_list = ["c","python","c++","python","Python"]
#index可以获取索引
print(my_list.index("python")) #1 当元素不存在时抛出异常
print(my_list.index("python",2)) #3 index有两个参数一个是查找的元素,一个是从哪里开始找
默认是从索引0开始
#count可以统计元素出现的次数
print(my_list.count("python")) #2 可以看出count()是区分大小写的,也就是说"Python"和 “Python”是不同的元素,前者p为小写后者为大写
6.元素的排序和反转
my_list = ["c","c++","python","php"]
#使用sort()从小到大排序
my_list.sort()
print(my_list) #['c', 'c++', 'php', 'python']
#可以向sort()传入reverse=True反转排序(从大到小)
my_list.sort(reverse=True)
print(my_list) #['python', 'php', 'c++', 'c']
#使用reverse()反转(从大到小)
my_list.reverse()
print(my_list) #['python', 'php', 'c++', 'c']