Python中的复合数据类型和数据结构是什么?


在本文中,我们将解释Python中的复合数据类型和数据结构。

到目前为止,变量只存储一个值。如果我们想保存许多相关的值怎么办?

我们可以为每个值创建不同的变量。

但是如果我们不知道有多少值呢?

如果我们想在循环中使用这些值怎么办?

复合数据结构是可以存储大量值的 数据类型。

Python中,有各种类型的复合数据结构。

  • 我们将主要关注列表

  • 最后,我们将快速了解集合、元组字典

列表

在Python中,一个列表是一个有序的序列,可以保存几种对象类型,例如整数、字符或浮点数。在其他编程语言中,列表相当于数组。

列表只是一个用方括号[]括起来的,由逗号分隔的值的列表。

inputList = [“hello”, “tutorialspoint”, 1, 3.5, “python”]

列表操作

有很多操作可以对列表执行,以便从中创建表达式。

1) 使用len()函数获取列表的大小

使用len()函数获取列表的长度/大小(len()方法返回对象中的项目数。当对象是列表时,len()函数返回列表中项目的数量),并创建一个变量来存储它。

示例

# input list lst = ["Hello", "TutorialsPoint", 78, "Hi", "Everyone"] # getting list length listLength = len(lst) # Printing the size of a list print("Size of a List = ", listLength)

输出

('Size of a List = ', 5)

使用索引访问列表元素

术语“索引”指的是基于其在可迭代对象中的位置的可迭代对象的元素。

索引从0开始。序列中的第一个元素由索引0表示。

负索引从-1开始。序列中的最后一个元素由索引-1表示。

示例

# input list inputList =[1, 4, 8, 6, 2] # accessing the list element at index 2 using positive indexing print("Element at index 2:", inputList[2]) # accessing the last element in list using negative indexing print("last element of an input list:", inputList[-1])

输出

('Element at index 2:', 8)
('last element of an input list:', 2)

注意

当我们尝试使用不存在或过大的索引时,它会抛出IndexError

迭代列表

使用for循环

下面的程序使用for循环打印所有列表元素:

# input list inputList = [10, 20, 30, 40, 50] print("Input list elements:") # traversing through all elements of the list using for loop for element in inputList: # printing each element of the list print(element)

输出

Input list elements:
10
20
30
40
50

列表项上的重复运算符(*)

Python列表还包括*运算符,它允许你创建一个新的列表,其中元素重复指定次数。

示例

下面的程序使用*运算符将列表重复给定的次数:

# input list inputList = [5, 6, 7] # Repeating the input list 2 times using the * operator print(inputList * 2)

输出

[5, 6, 7, 5, 6, 7]

在这里,我们取了一个随机值的列表,并用*运算符将其乘以两次,这样输出就包含重复两次的给定列表。

Python中的元组

元组是一个不可变的序列数据类型,可以包含各种数据类型的元素。元组只是由逗号分隔的Python对象的集合。由于元组是静态的,所以它们比列表更快。

列表和元组的语法略有不同。列表用方括号[]表示,元组用圆括号()表示。

元组切片

我们可以使用元组切片。它类似于我们如何使用字符串和列表。元组切片用于获取各种项目。我们还使用切片运算符执行元组切片。切片运算符可以用语法表示

[start:stop:step]

示例

# Input tuple givenTuple = ("Welcome", "this", "is", "TutorialsPoint", "Website", 10) # Slicing with start and stop values(indices) print('Tuple slicing from index 1 to index 6 :', givenTuple[1:6]) # Slicing with only stop values(indices) print("Tuple slicing till index 7: ", givenTuple[:7])

输出

Tuple slicing from index 1 to index 6 : ('this', 'is', 'TutorialsPoint', 'Website', 10)
Tuple slicing till index 7: ('Welcome', 'this', 'is', 'TutorialsPoint', 'Website', 10)

使用索引访问元组元素

与列表一样,元组也使用索引来访问其元素。唯一的区别是元组是不可变的(不能更改),而列表是可变的。

示例

# input tuple inputTuple = (1, 4, 8, 6, 2) # accessing the tuple element at index 2 using positive indexing print("Element at index 2:", inputTuple[2]) # accessing the last element in tuple using negative indexing print("last element of an input tuple:", inputTuple[-1])

输出

('Element at index 2:', 8)
('last element of an input tuple:', 2)

注意

当我们尝试使用不存在或过大的索引时,它会抛出IndexError

Python中的字典

使用dict.keys()方法获取字典中所有键的列表

使用keys()函数打印字典的所有键的列表,将其应用于输入字典,并使用list()函数(将序列/可迭代对象转换为列表)将结果转换为列表。

示例

# input dictionary
demoDictionary = {10: 'TutorialsPoint', 12: 'Python', 14: 'Codes'}

# Printing the list of keys of a dictionary using the keys() function

# list() methods convert an iterable into a list
print(list(demoDictionary.keys()))

输出

[10, 12, 14]

结论

在本文中,我们学习了复合数据类型和数据结构,以及一些示例。

更新于:2023年8月23日

4000+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始
广告