python数据结构记录

博客围绕Python数据结构展开,介绍了列表可修改,而字符串和元组不可修改的特点,还阐述了用列表特性实现堆栈和队列,以及列表推导式、嵌套列表实现矩阵转置等内容,最后给出输入链表反转求新表头的每日一题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构:

列表一个最大的特点是可以修改,而字符串和元组是不能修改的:

我们知道c和c++都有栈和队列

那么我们也可以用列表的特性来实现堆栈

示例:

结果;

将列表当作队列使用

示例:

结果:

列表推导式

示例:

结果:

 

嵌套列表 实现矩阵列表的转制:

其中其嵌套的执行顺序是:

运行结果:

 

每日一题:

输入一个链表,反转链表后,输出新链表的表头。

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        if pHead is None:
            return None
        p=None
        while pHead:
            q=pHead
            pHead=q.next
            q.next=p 
            p=q
        return q

测试版本(****) 搞不懂这个class怎么调用我去,,,,,,,

class Node(object):
    def __init__(self, elem, next_=None):
        self.elem = elem
        self.next = next_

def ReverseList(pHead):

        # write code here
    if pHead is None:
        return None
    p=None
    while pHead:
        q=pHead
        pHead=q.next
        q.next=p 
        p=q
    return q

if __name__ == '__main__':
    l1 = Node(3)    # 建立链表3->2->1->9->None
    l1.next = Node(2)
    l1.next.next = Node(1)
    l1.next.next.next = Node(9)
    l = ReverseList(l1)
    print (l.elem, l.next.elem, l.next.next.elem, l.next.next.next.elem)  


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值