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]
结论
在本文中,我们学习了复合数据类型和数据结构,以及一些示例。