Python中序列相加和序列重复(第4节)


1、序列相加

在Python编程语言中,可以直接用 “+”(加号) 来连接两个序列,例如:

动手练一练:

# 列表
a = [1, 2, 3, 4,] + [5, 6, 7, 8, 9]
print('列表')
print(a) # 输出[1, 2, 3, 4, 5, 6, 7, 8, 9]

print('------这是虚线------')

# 元组
b = (1, 2, 3, 4,) + (5, 6, 7, 8, 9)
print('元组')
print(b) # 输出(1, 2, 3, 4, 5, 6, 7, 8, 9)

print('------这还是虚线------')

# 字符串
c = "1234" + "56789"
print('字符串')
print(c) # 输出123456789

执行以上代码,输出结果为:

列表
[1, 2, 3, 4, 5, 6, 7, 8, 9]
------这是虚线------
元组
(1, 2, 3, 4, 5, 6, 7, 8, 9)
------这还是虚线------
字符串
123456789

上面的例子中,我们对两个一样数据类型的序列进行相加的操作,我们也称之为连接,一般使用的是“+”,有时候它也可以作为一个连接符使用,在序列中,使用这个符号相加的话,连接后的结果还是相同类型的序列,我们说的相同类型指的是,列表和列表连接的结果还是列表,元组和元组连接的结果还是元组,字符串和字符串连接的结果还是字符串。

动手练一练:

print([4, 5, 6] + (7, 8, 9) )
print([4, 5, 6] + "789" )
print("456" + (7, 8, 9) )

执行以上代码,输出结果为:

TypeError: can only concatenate list (not "tuple") to list

上面的例子中,两个数据类型不一样的序列进行相加,结果会提示“类型错误”,所以只能在相同类型的序列之间做连接操作。

2、序列重复

Python对序列的操作中,不仅可以实现相加“+”(加号),同样还可以对序列进行相乘“*”(星号)的操作,使用数字乘以某个序列就会生成一个新的序列,并且原来的序列会被重复很多次,例如:

动手练一练:

# 列表
a = [1, 2, 3, 4,] * 3
print('列表')
print(a) # 输出[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

print('------这是虚线------')

# 元组
b = (1, 2, 3, 4,) * 3
print('元组')
print(b) # 输出(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)

print('------这还是虚线------')

# 字符串
c = "1234" * 3
print('字符串')
print(c) # 输出123412341234

执行以上代码,输出结果为:

列表
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
------这是虚线------
元组
(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
------这还是虚线------
字符串
123412341234

上面的例子中,我们可以轻松地创建一个重复序列,这些重复序列可以帮助我们完成一些重复性的工作。