Python *操作符如何在列表上工作

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作为重复值时,我们得到一个空列表。如果存在任何负数值,它不能将它们相乘,因此返回一个空列表。

结论

本文涵盖了列表上的重复运算符的每种情况。我们还谈到了它在各种情况下的行为方式。我们学会了如何使用运算符来打印由空格分隔的列表元素。这在许多情况下都很有用,例如在编程比赛中,可以节省时间而不需要编写大量的函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程