Python中*操作符如何在列表上工作?
在Python中,列表是一个有序的序列,可以容纳多种对象类型,例如整数、字符或浮点数。在其他编程语言中,列表等同于数组。
重复操作符(*)
序列数据类型(可变和不可变)支持重复操作符。* 重复操作符 * 创建该对象的多个副本并将它们连接在一起。当与整数一起使用时,* 执行乘法,但当与列表、元组或字符串一起使用时,它执行重复操作。
在本文中,我们将向您展示在Python中如何在列表上使用*运算符。以下是不同的示例,以了解在python中如何使用*
运算符:
- 列表项上的重复操作符(*)
-
重复操作符(*)如何作为引用工作
-
使用*运算符拆包函数。
-
当重复值为0时
更多Python相关文章,请阅读:Python 教程
列表项上的重复操作符(*)
Python表中也包括*操作符,它允许您创建一个具有指定次数的重复元素的新列表。
以下程序使用*运算符重复列表给定的次数:
# 输入列表
inputList = [5, 6, 7]
# 使用*操作符2次重复输入列表
print(inputList * 2)
输出
在执行上述程序时,将生成以下输出−
[5, 6, 7, 5, 6, 7]
在此,我们使用一个随机值的列表,将其乘以*操作符两次,以便输出由给定列表重复两次组成。
重复操作符 (*) 如何作为引用工作
序列或列表中的项目未被复制,而是被多次引用。
inputList_1=[[3]]
inputList_2= inputList_1*3
例子
列表inputList_2元素对应于列表inputList_1中的相同元素。因此,更改列表inputList_1中的任何元素将更改列表inputList_2中的元素。
# 输入列表
inputList_1=[4]
# 使用重复操作符将整个inputList_1乘以三次
inputList_2= inputList_1*3
print('未修改的输入列表1:',inputList_1)
print('未修改的输入列表2:',inputList_2)
# 修改列表的第一个元素值为20
inputList_1[0]= 20
# 输出
print('修改后的输入列表1:',inputList_1)
print('修改后的输入列表2:',inputList_2)
输出
未修改的输入列表1:[4]
未修改的输入列表2:[4, 4, 4]
修改后的输入列表1:[20]
修改后的输入列表2:[4, 4, 4]
第一个列表只有一个元素,其值为4,我们使用重复运算符(*)将其乘以三次并将其存储在另一个列表(输入列表2)中。当我们更改第一个列表的值时,我们可以看到第二个列表的元素发生了改变,但第二个列表并没有更改。这意味着序列/列表中的项/元素被多次引用而不是复制。
使用*运算符解压函数
在以原始格式(没有逗号和括号)打印数据时,这种方法非常方便。许多程序员试图通过合并函数来删除逗号和括号,因此这个简单的前缀星号可以帮助您在解压它们时解决问题。
算法(步骤)
以下是执行所需任务的算法/步骤-
- 创建一个变量来存储输入列表并为其赋予一些随机值。
-
为了将无括号[ ]分割的列表元素打印为字符串,我们首先通过将str和list作为参数传递给map()函数将列表转换为字符串。它将列表的每个元素转换为string类型,并返回项目的结果列表。 join()函数(join()函数用于连接由字符串分隔的序列的元素)用于将结果列表转换为字符串。
-
与以前的方法不同,我们可以使用星号运算符(*)打印由空格分隔的列表元素。
例子
# 输入列表
inputList = ['TutorialsPoint', 'Python', 'Codes', 'hello', 5, 'everyone', 10, 5.3]
#使用map()将列表元素转换为字符串
#将join()函数应用于将列表转换为字符串
#不使用星号(*)运算符
print('不使用*运算符:')
print(' '.join(map(str,inputList)))
#使用星号(*)运算符
print('使用*运算符: ')
print (*inputList)
输出
不使用*运算符:TutorialsPoint Python Codes hello 5 everyone 10 5.3
使用*运算符:TutorialsPoint Python Codes hello 5 everyone 10 5.3
两种方法输出结果相同。
当给出重复值为0时
当提供小于等于0的值时,将返回相同类型的空序列。
例子1
当输入与0相乘时,以下程序返回一个空列表-
# 输入列表
inputList = [5, 6, 7]
#当给出重复值为0时返回一个空列表
print(inputList * 0)
输出
执行以上程序将生成以下输出:
[]
这里我们使用0作为重复值,因此我们得到一个空列表,因为任何东西乘以0等于0(空)。
例子2
以下程序在使用小于0的任何数字乘以输入时返回一个空列表。
# 输入列表
inputList = [5, 6, 7]
# 当重复值为-4时返回空列表
print(inputList * -4)
输出
执行以上程序将生成以下输出
[]
因为*运算符只接受正数值,当我们传递-4作为重复值时,我们得到一个空列表。如果存在任何负数值,它不能将它们相乘,因此返回一个空列表。
结论
本文涵盖了列表上的重复运算符的每种情况。我们还谈到了它在各种情况下的行为方式。我们学会了如何使用运算符来打印由空格分隔的列表元素。这在许多情况下都很有用,例如在编程比赛中,可以节省时间而不需要编写大量的函数。