Python 提供了几种内置类型,它们属于称为集合的模糊类别。虽然 Python 中没有调用正式的类型collection
,但有列表、映射和集合。
在本教程中,我们将介绍以下类型:
-
列表
-
字符串
-
字典
-
套
列表
Python 中的列表是一种称为序列的内置类型。List 是可变的,允许您添加相同类型或不同类型的项目,使它们成为非常通用的构造。Python 列表类似于其他语言中的数组。
Python 列表确实允许您拥有非唯一元素。
以下是创建列表并向其中添加项目的示例:
alist = [“item1”, “item2”, 4]
请注意,该列表是异构的,包含字符串和数字类型。
要从列表中检索项目,只需引用该项目的索引。Python 列表是零索引的。如果我想要最后一项,即位置 3,我需要使用索引 2:
alist[2]
> 4
返回数字 4。引用列表项时,只需从其位置减去 1 即可获得正确的索引值。
可以使用以下len
命令检查列表的长度:
len(alist))
3
要将更多项目添加到列表中,请使用以下append()
功能:
alist.append(False)
len(alist)
> 4
我们将列表增加了一个并添加了一种不同的类型——布尔值。该列表根本没有抱怨。
我们可以通过调用删除元素remove()
:
alist.remove(“item2”)
remove()
不返回值。该列表将更新,现在包含三个项目:
[‘item1’, 4, False]
还有其他几种方法可以将项目从列表中取出。我们看到了如何使用它的索引来访问一个项目。如果我访问索引 2,我将得到第 3 项:
thevalue = alist[2]
print(thevalue)
False
上面的代码将为我们提供该项目的副本。该项目仍在列表中。总列表计数不受影响。
但是,如果我们使用pop()
,我们会得到该项目,但它也会从列表中删除:
thevalue = alist.pop(1)
print(thevalue)
> 4
print(“after pop”, alist)
> [‘item1’, False]
列表也可以排序。如果我有以下字符串列表:
alpha = [“z”, “b”, “a”, “c”]
您可以使用以下sort()
命令对其进行排序:
alpha.sort()
sort()
不返回值。不过,alpha
现在是排序的。您可以通过打印列表来查看:
print(alpha)
通过调用可以很容易地反转元素reverse()
:
alpha.reverse()
reverse()
也不返回值,并将反转当前列表。
字符串是列表吗?
字符串与列表有一些相似之处。但是,字符串是不可变的,而列表是可变的。
字符串像列表一样基于索引。您还可以获取字符串中的字符数,就像您可以获取列表中的项目数一样。
例如:
mystring = “The quick brown fox.”
print(len(mystring))
> 20
print(mystring[4])
> q
与列表不同,您不能通过附加来添加另一个字符。您也不能更新字符串中的特定元素。
请注意,如果我们尝试将字符分配给字符串中的特定位置会发生什么:
mystring[4] = ‘z’
> TypeError: ‘str’ object does not support item assignment
这就是字符串的不可变部分发挥作用的地方。
根据字符串,我们可以将字符串转换为列表。从上面获取我们的mystring
变量。如果我们split()
是字符串,它将默认按空格分割:
stringlist = mystring.split()
stringlist
>[‘The’, ‘quick’, ‘brown’, ‘fox.’]
type(stringlist)
><class ‘list’>
字符串中的每个单词都成为列表中的一个元素。我们还可以看到,类型显然是一个列表。
如果字符串没有空格,我们仍然可以拆分它。但结果会是什么?让我们检查一下:
mystring2 = “Thequickbrownfox.”
stringlist2 = mystring2.split()
stringlist2
type(stringlist2)
>[‘Thequickbrownfox.’]
><class ‘list’>
我们仍然得到一个列表,但这次只有一个元素。最终,在这种情况下拆分字符串并没有多大用处。
映射
映射是另一种内置类型。Python 中唯一可用的映射是字典。字典是基于键/值的。与基于索引的列表不同,我们不使用索引访问字典值。相反,我们使用键访问值。
创建字典类似于创建列表,除了添加键/值对而不是单个项目。这是一个例子:
mydictionary = {“item1”:45, “item2”:76, “item3”:145}
每个键/值由冒号分隔。第一部分是键,第二部分是值。在第一项中,item1
是键,45
是值。另外,请注意我们使用大括号而不是括号来包围我们的项目。
从字典中获取项目时,我们考虑的是键,因为通过索引访问是不可能的。如果我们想要item2
,我们使用:
mydictionary[“item2”]
> 76
我们可以检查字典的长度,就像检查列表的长度一样:
len(mydictionary)
> 3
要更新item2
,我们使用执行以下操作:
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习