代码点读机 / Python / *

* Python · 运算符

`*` 对数字做乘法,对序列(字符串、列表、元组)做重复。就像把同一段文字复制多份,或者把一组元素重复多次。

怎么用

数字1 * 数字2
序列 * 整数

小例子

print(3 * 5)
print("ab" * 3)
print([1, 2] * 2)
print((0,) * 5)

运行结果

15
ababab
[1, 2, 1, 2]
(0, 0, 0, 0, 0)

对比:序列乘整数是重复,乘负数或浮点数会报错

print([1,2] * -1)   # 结果为空列表 [],但一般不这么用
print([1,2] * 2.5)  # TypeError: can't multiply sequence by non-int of type 'float'

常见使用场景

1. 数字乘法。
2. 快速生成重复数据:
零列表 = [0] * 10
3. 字符串重复。

提醒:- 序列乘以整数 `n` 返回一个新序列,长度变为原来的 `n` 倍。 - 注意如果列表中的元素是可变对象(如列表),重复时是复制引用,修改一个会影响所有重复项,例如 `[[]] * 3` 三个子列表是同一个对象。

官方文档:https://docs.python.org/zh-cn/3/tutorial/introduction.html#tut-numbers

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条