您好,登录后才能下订单哦!
这篇文章主要讲解了“Python元组、列表、解构和循环怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python元组、列表、解构和循环怎么使用”吧!
列表是项目的集合。列表是可变的:你可以改变它们的元素和大小。因此,它们类似于List<T>
C# 中的 a ArrayList<T>
、Java 中的 a 和 JavaScript 中的数组。
您可以像这样分配一个列表,然后通过从零开始的索引访问它的元素:
foo = [1, 2, True, "mixing types is fine"]
print(foo[0]) # 1
foo[0] = 3
print(foo[0]) # 3
该append
方法在列表的末尾添加一个元素。该insert
方法将元素放置在您指定的索引处:
foo = [1, 2, 3]
foo.append(4)
print(foo) # [1, 2, 3, 4]
foo.insert(0, 0.5)
print(foo) # [0.5, 1, 2, 3, 4]
要删除索引处的元素,请使用del
关键字:
del foo[2]
print(foo) # [0.5, 1, 3, 4]
元组是另一种类型的项目集合。元组类似于列表,但它们是不可变的。一个元组是这样分配的:
foo = 1, 2, True, "you can mix types, like in lists"
您经常会看到格式为 的元组(1, 2, "a")
,并带有括号。元组值周围的括号用于帮助提高可读性或根据上下文需要。例如,1, 2 + 3, 4
表示不同于(1, 2) + (3, 4)
! 第一个表达式返回一个元组,(1, 5, 4)
而第二个返回(1, 2, 3, 4)
。
从获得一个元组的值相同的方式工作从列表,foo[index],
以index
表示该元素的从零开始的索引。如果您尝试更改其中一个元素,您可以看到元组是不可变的:
foo[0] = 3 # will raise a TypeError
这适用于列表,但不适用于元组。
元组也没有 append、remove 和其他一些方法。
你也可以从函数中返回元组,这是一种常见的做法:
def your_function():
return 1, 2
这将返回一个元组(1, 2)
。
如果您想要一个只有一个元素的元组,请在该元素后放置一个逗号:
foo = 1,
Python 的索引比我目前演示的更强大。它们提供了一些在 C#、Java 等中不存在的功能。一个例子是负索引,其中 -1 指的是最后一个元素,-2 指的是倒数第二个元素,依此类推。
my_list = [1, 2, 3]
print(my_list[-1]) # 3
这适用于列表和元组。
此外,您可以通过指定切片的开始、结束或开始和结束元素的索引来获取列表或元组的切片。这会生成一个包含元素子集的新列表或元组。下面举几个例子来演示:
my_list = [0, 1, 2, 3, 4, 5]
print(my_list[1:2]) # [1, 2]
print(my_list[2:]) # [2, 3, 4, 5]
print(my_list[:2]) # [0, 1]
print(my_list[0:4:2]) # [0, 2]
print(my_list[-3:-1]) # [3, 4]
print(my_list[::-1]) # [5, 4, 3, 2, 1, 0]
切片符号是[start:stop:step]
。如果start
保持为空,则默认为 0。如果end
保持为空,则表示列表结束。该:step
符号是可选的。所以::-1
表示“从 0 到列表末尾,步骤为 -1”,从而返回反向列表。
切片永远不会提高IndexErrors
。当超出范围时,它们只返回一个空列表。
假设您有一个元组(或列表),其中包含已知数量的元素,例如三个。并且假设你拥有三个不同的变量,每个元组元素一个。
Python 提供了一种称为解构(或解包)的功能,可以用一行来分解集合:
my_tuple = 1, 2, 3
a, b, c = my_tuple
现在a = 1
,b = 2
, 和c = 3
。
my_list = [1, 2, 3]
a, b, c = my_list
这在处理返回元组的函数时非常有用,Python 生态系统中有很多这样的函数,以及处理与 AI 相关的库时。
您可能熟悉三种循环:for、foreach 和 while。Python 只提供 while 和 foreach 循环(它使用for关键字!)。不过不用担心。正如我们稍后将看到的,创建一个行为与 for 循环完全相同的循环非常容易。
这是一个迭代列表的 Python 循环:
fruits = ["Apple", "Banana", "Pear"]
for fruit in fruits:
print(fruit)
您还可以遍历元组:
fruits = "Apple", "Banana", "Pear"
for fruit in fruits:
print(fruit)
通常,您可以在每个迭代器上使用 for 循环。迭代器以及如何创建自己的迭代器将在后面的文章中进行更深入的讨论。
如果你想要一个 C 风格的 for 循环而不是 foreach 循环,你可以遍历range函数的结果,它返回一个范围内的迭代器:
for i in range(10):
print(i)
最后打印出来的数字是 9。这相当于下面的 C 代码片段:
for (int i = 0; i < 10; i++) {
Console.WriteLine(i);
}
该range
函数提供的不仅仅是从零到给定数字的计数。您可以使用range(x, 10),
where x
will be the first array element指定不同的起始编号。您可以使用第三个参数指定步长,例如range(0, 10, 2)
。
从高向低数是这样的创建范围:range(10, 0, -1)
。第一元件现在将10和最后一个将是1。实际上,range(0, 10)
是不相反range(10, 0, -1)
,因为第二个参数将不被包括在该范围。
Python 中的 while 循环看起来与您已经知道的非常相似:
while condition:
# code
Python 还提供了 break 和 continue 语句,它们的工作方式与 C#、Java、JavaScript 和许多其他语言中的语句完全一样。
while True: if input() == "hello": break
感谢各位的阅读,以上就是“Python元组、列表、解构和循环怎么使用”的内容了,经过本文的学习后,相信大家对Python元组、列表、解构和循环怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。