+ 连接列表
使用+
运算符可以将多个序列连接起来;列表是序列的一种,所以也可以使用+
进行连接,这样就相当于在第一个列表的末尾添加了另一个列表
例如:
1 | names1 = ["乐乐", "烁烁"] |
输出结果:
1 | ['乐乐', '烁烁', '小乐', '小烁'] |
从运行结果可以发现,使用+
会生成一个新的列表,原有的列表不会被改变。
+
更多的是用来拼接列表,而且执行效率并不高,如果想在列表中插入元素,应该使用下面几个专门的方法。
append()方法添加元素
append()
方法用于在列表的末尾追加元素,该方法的语法格式如下:
1 | listname.append(obj) |
其中,listname
表示要添加元素的列表;obj
表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。
例如:
1 | names = ["乐乐", "烁烁"] |
运行结果:
1 | ["乐乐", "烁烁", "CoderLeiShuo"] |
可以看到,当给 append() 方法传递列表或者元组时,此方法会将它们视为一个整体,作为一个元素添加到列表中,从而形成包含列表和元组的新列表。
如果我们希望把列表的每一个元素分别添加到列表中,则可以使用extend()
方法
extend()方法添加元素
extend() 和 append() 的不同之处在于:extend() 不会把列表或者元组视为一个整体,而是把它们包含的元素逐个添加到列表中。
extend() 方法的语法格式如下:
1 | listname.extend(obj) |
其中,listname
指的是要添加元素的列表;obj
表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。
例如:
1 | localMovies = ["霸王别姬", "忠犬八公", "奇异博士"] |
运行结果:
1 | ['霸王别姬', '忠犬八公', '奇异博士', '千与千寻', '闻香识女人', '红海行动'] |
尤其要注意,extend()方法不能用于添加单个数字
1 | numList = [9, 5, 2] |
运行结果:
1 | TypeError: 'int' object is not iterable |
使用列表的方法时还容易犯以下这个错误。请看如下代码:
1 | localMovies = ["霸王别姬", "忠犬八公", "奇异博士"] |
运行结果:
1 | None |
因为列表的这些方法是没有返回值的,如下图所示:
insert()方法插入元素
append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。
insert() 的语法格式如下:
1 | listname.insert(index , obj) |
其中,index
表示指定位置的索引值。insert()
会将 obj
插入到 listname
列表第 index
个元素的位置。
例如:
1 | nums = [9, 2, 7] |
运行结果:
1 | [9, 5, 2, 7] |
当插入列表或者元祖时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。
例如:
1 | nums = [9, 2, 7] |
运行结果:
1 | [9, [9, 5, 2, 7], 5, 2, 7] |
练习
练习一:产生10个随机整数,保存在列表中并输出
1 | # 产生10个随机数,将其保存在列表中 |
练习二:产生10个不同的随机整数,保存到列表中并输出
1 | # 导入随机数模块 |
练习三:产生10个不同的随机整数,保存到列表中并输出列表中的最大值
使用Python内置的max
函数可以返回列表中的最大值
例如:
1 | # 导入随机数模块 |
运行结果:
1 | [10, 7, 2, 6, 4, 3, 5, 9, 8, 1] |
除了使用Python提供的max函数外,我们也可以尝试自己手写代码实现这个操作。
于是,经过动脑,你可能写出如下代码:
1 | # 导入随机数模块 |
运行结果:
1 | print(max(numList)) |
运行结果报错了。问题出在哪呢?出在我们在代码中使用了max函数,却又定义了一个变量名叫max
,它是保留字,二者冲突了。当执行到max()时,Python发现你的max
变量是个int
类型,它怎么能作为方法被调用呢?
所以,只需要修改一下变量名即可
1 | # 导入随机数模块 |
本文作者: CoderLeiShuo
本文链接:https://coderleishuo.github.io/lele/65251.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!