下面是关于“浅谈Python中常用的8种经典数据结构”的完整攻略:
一、列表(List)
列表是Python中最常用的数据结构之一。它是一个有序的、可修改的集合,可以容纳不同类型的元素。使用中括号将元素括起来,每个元素之间用逗号隔开。
1. 如何创建一个列表
my_list = [1, 2, 3, 'a', 'b', 'c']
print(my_list)
输出:[1, 2, 3, 'a', 'b', 'c']
2. 如何访问列表中的元素
my_list = [1, 2, 3, 'a', 'b', 'c']
print(my_list[0]) #输出:1
print(my_list[-1]) #输出:'c'
二、元组(Tuple)
元组也是一个有序的、不可修改的集合,和列表很相似,但是元组中的元素是不可修改的。使用小括号将元素括起来,每个元素之间用逗号隔开。
1. 如何创建一个元组
my_tuple = (1, 2, 3, 'a', 'b', 'c')
print(my_tuple)
输出:(1, 2, 3, 'a', 'b', 'c')
2. 如何访问元组中的元素
my_tuple = (1, 2, 3, 'a', 'b', 'c')
print(my_tuple[0]) #输出:1
print(my_tuple[-1]) #输出:'c'
三、集合(Set)
集合是一个无序的、无重复元素的集合,可以进行交集、并集等操作。
1. 如何创建一个集合
my_set = {1, 2, 3, 'a', 'b', 'c'}
print(my_set)
输出:{1, 2, 3, 'a', 'b', 'c'}
2. 如何访问集合中的元素
由于集合是无序的,所以不能像列表和元组那样通过索引来访问元素。
四、字典(Dictionary)
字典是一个无序的、键值对集合,可以根据键来访问值。
1. 如何创建一个字典
my_dict = {'name': 'Jack', 'age': 18, 'gender': 'male'}
print(my_dict)
输出:{'name': 'Jack', 'age': 18, 'gender': 'male'}
2. 如何访问字典中的元素
my_dict = {'name': 'Jack', 'age': 18, 'gender': 'male'}
print(my_dict['name']) #输出:'Jack'
五、栈(Stack)
栈是一种后进先出(LIFO)的数据结构。只允许对栈顶执行操作。
1. 如何创建一个栈
可以使用列表来实现一个栈,使用append()方法加入元素,使用pop()方法弹出栈顶元素。
my_stack = []
my_stack.append(1) #入栈
my_stack.append(2) #入栈
print(my_stack.pop()) #输出:2,出栈
六、队列(Queue)
队列是一种先进先出(FIFO)的数据结构。可以在队尾插入元素,在队头删除元素。
1. 如何创建一个队列
可以使用collections模块中的deque双端队列来实现一个队列,使用append()方法来插入元素,在使用popleft()方法删除元素。
from collections import deque
my_queue = deque()
my_queue.append(1) #队尾入队
my_queue.append(2) #队尾入队
print(my_queue.popleft()) #输出:1,队头出队
七、堆(Heap)
堆是一种可以快速找到最小(或最大)元素的数据结构。在Python中可以使用heapq模块来实现一个堆,其中heapify()方法可以将一个列表转化为堆,heappush()方法可以将元素加入堆中,heappop()方法可以弹出堆顶元素。
1. 如何创建一个堆
import heapq
my_heap = [1, 2, 3, 4, 5]
heapq.heapify(my_heap)
print(my_heap)
输出:[1, 2, 3, 4, 5]
2. 如何插入元素和弹出堆顶元素
import heapq
my_heap = [1, 2, 3, 4, 5]
heapq.heapify(my_heap)
heapq.heappush(my_heap, 0)
print(heapq.heappop(my_heap)) #输出:0
八、链表(Linked List)
链表是由节点组成的数据结构,每个节点包含数据和指向下一个节点的指针。链表的优点是可以在运行时动态添加或删除元素。
1. 如何创建一个链表
class Node():
def __init__(self, data):
self.data = data
self.next = None
n1 = Node('a')
n2 = Node('b')
n3 = Node('c')
n1.next = n2
n2.next = n3
2. 如何遍历链表并输出元素
current = n1
while current is not None:
print(current.data)
current = current.next
输出:a b c
以上就是“浅谈Python中常用的8种经典数据结构”的完整攻略,其中包含了每种数据结构的创建、元素访问方法和示例代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈python中常用的8种经典数据结构 - Python技术站