文章目录
1. 创建列表
1.1 使用基本语法[]创建
# 创建空的列表 []
a = []
print(a) #结果,创建空的列表 []
# 创建列表[1, 2, ‘abc’]
b = [1,2,'abc']
print(b) #结果:[1, 2, ‘abc’]
print(b[2]) #结果:abc
1.2 基于list()创建
c = list()
print(c) #结果:创建一个空的列表
c.append(1)
print(c) #结果:[1]
c = list('abcdefg')
print(c) #结果:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’]
d = list(range(10))
print(d) #结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1.3 range()创建整数列表
range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。语法格式为:
range([start],end ,[step])
start 参数:可选,表示起始数字。默认是 0
end 参数:必选,表示结尾数字。
step 参数:可选,表示步长,默认为 1
e = list(range(0,10,2))
print(e) #结果:[0, 2, 4, 6, 8]
f = list(range(10,0,-1))
print(f) #结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
g = list(range(-10,-30,-2))
print(g) #结果:[-10, -12, -14, -16, -18, -20, -22, -24, -26, -28]
1.4 推导式生成列表
h = [x*2 for x in range(10)]
print(h) #结果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
k = [x*2 for x in range(100) if x%9==0]
print(k) #结果:[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
【参考博客】:四种方法创建list列表
2. 增加元素
2.1 append()方法
append() 方法用于在列表的末尾追加元素,该方法的语法格式如下:
listname.append(obj)
其中,listname 表示要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。
l = ['Python', 'C++', 'Java']
#追加元素
l.append('PHP')
print(l) # ['Python', 'C++', 'Java', 'PHP']
#追加元组,整个元组被当成一个元素
t = ('JavaScript', 'C#', 'Go')
l.append(t)
print(l) # ['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go')]
#追加列表,整个列表也被当成一个元素
l.append(['Ruby', 'SQL'])
print(l) # ['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go'), ['Ruby', 'SQL']]
2.2 列表相加+
使用+运算符可以将多个序列连接起来;列表是序列的一种,所以也可以使用+进行连接,这样就相当于在第一个列表的末尾添加了另一个列表。
language = ["Python", "C++", "Java"]
year = [1991, 1998, 1995]
l_y = language + year
print(l_y) # ['Python', 'C++', 'Java', 1991, 1998, 1995]
2.3 extend()方法
extend() 和 append() 的不同之处在于:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。
extend() 方法的语法格式如下:
listname.extend(obj)
其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。
l = ['Python', 'C++', 'Java']
#追加元素
l.extend('C')
print(l) # ['Python', 'C++', 'Java', 'C']
#追加元组,元祖被拆分成多个元素
t = ('JavaScript', 'C#', 'Go')
l.extend(t)
print(l) # ['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']
#追加列表,列表也被拆分成多个元素
l.extend(['Ruby', 'SQL'])
print(l) # ['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']
2.4 insert()方法插入元素
append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。
insert() 的语法格式如下:
listname.insert(index , obj)
其中,index 表示指定位置的索引值。insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。
当插入列表或者元祖时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。
l = ['Python', 'C++', 'Java']
#插入元素
l.insert(1, 'C')
print(l) # ['Python', 'C', 'C++', 'Java']
#插入元组,整个元祖被当成一个元素
t = ('C#', 'Go')
l.insert(2, t)
print(l) # ['Python', 'C', ('C#', 'Go'), 'C++', 'Java']
#插入列表,整个列表被当成一个元素
l.insert(3, ['Ruby', 'SQL'])
print(l) # ['Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']
#插入字符串,整个字符串被当成一个元素
l.insert(0, "http://c.biancheng.net")
print(l) # ['http://c.biancheng.net', 'Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']
【参考博客】:Python list列表添加元素的3种方法
3. 修改元素
3.1 修改单个元素
修改单个元素直接对元素赋值即可
l = ['Python', 'C++', 'Java']
l[1] = 'C'
print(l) # ['Python', 'C', 'Java']
3.2 修改多个元素
python支持通过切边语法给一组元素赋值。在进行这种操作时,如果不指定步长(step参数),python就不要求新赋值的元素个数与原来的元素个数相同;这就意味着,该操作既可以为列表添加元素,也可以为列表删除元素
l = ['Python', 'C++', 'Java']
l[0:1] = [1, 2, 3, 4]
print(l) # [1, 2, 3, 4, 'C++', 'Java']
如果对空切片(slice)赋值,就相当于插入一组新的元素
l = ['Python', 'C++', 'Java']
l[1:1] = [1, 2, 3, 4]
print(l) # ['Python', 1, 2, 3, 4, 'C++', 'Java']
4. 删除元素
4.1 del() 根据索引值删除元素
del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。我们已经在《Python列表》中讲解了如何删除整个列表,所以本节只讲解如何删除列表元素。
del 可以删除列表中的单个元素,格式为:
del listname[index]
其中,listname 表示列表名称,index 表示元素的索引值。
del 也可以删除中间一段连续的元素,格式为:
del listname[start : end]
其中,start 表示起始索引,end 表示结束索引。del 会删除从索引 start 到 end 之间的元素,不包括 end 位置的元素。
【示例】使用 del 删除单个列表元素:
l = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
del l[2]
print(l) # ['Python', 'C++', 'PHP', 'Ruby', 'MATLAB']
【示例】使用 del 删除一段连续的元素:
l = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
del l[1: 4]
print(l) # ['Python', 'Ruby', 'MATLAB']
4.2 pop() 根据索引值删除元素
Python pop() 方法用来删除列表中指定索引处的元素,具体格式如下:
listname.pop(index)
其中,listname 表示列表名称,index 表示索引值。如果不写 index 参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作。
pop() 用法举例:
l = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
l.pop(1) # 删除索引位置为1处的元素
print(l) # ['Python', 'Java', 'PHP', 'Ruby', 'MATLAB']
l.pop() # 删除最后一个元素
print(l) # ['Python', 'Java', 'PHP', 'Ruby']
4.3 remove() 根据元素值进行删除
除了 del 关键字,Python 还提供了 remove() 方法,该方法会根据元素本身的值来进行删除操作。
需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。
remove() 方法使用示例:
l = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
l.remove('Ruby') # 删除值为Ruby的元素
print(l) # ['Python', 'C++', 'Java', 'PHP', 'MATLAB']
4.4 clear() 删除列表所有元素
Python clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码:
l = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
l.clear()
print(l) # []
5. 列表遍历
方法一:按下标索引遍历
a_list = list('abcdefg')
for i in range(len(a_list)):
print(a_list[i])
方法二:for item in list 遍历
a_list = list('abcdefg')
for item in a_list:
print(item)
6. 列表排序
参见博客:python 列表(list)排序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/162747.html