首页 > 其他分享 >leetcode刷题--两数之和/两数相加/关于class/enumerate()函数/TypeError: creat() missing 1 required positional argumen

leetcode刷题--两数之和/两数相加/关于class/enumerate()函数/TypeError: creat() missing 1 required positional argumen

时间:2023-03-08 16:34:35浏览次数:67  
标签:TypeError creat list class 链表 tail next 节点 两数

Python中的self详细解析 - 初识CV的文章 - 知乎 https://zhuanlan.zhihu.com/p/356325860

关于class

leetcode里面给出的class部分是不能删除的,否则会执行出错。

关于class、self部分的内容:https://zhuanlan.zhihu.com/p/356325860

enumerate()函数

enumerate(sequence,[start = 0])     //enumerate(遍历对象,索引起始值)

enumerate()函数是python内置函数,参数为可迭代/可遍历的对象(如:列表,字符串),返回的是对象的索引和值,一般在for循环中使用。

示例:

 

 

 链表

#链表节点
class ListNode(object):
    def __init__(self,val=0,next=None):
        self.val=val          #存放当前节点数据
        self.next=next        #指向下一节点指针

调用class中的method时遇到错误:TypeError: creat() missing 1 required positional argument: 'list'

原因:调用类的时候没有对类进行实例化

比如,对于以下代码

#链表操作
class SinglyLinkedList(object):
    #创建链表
    def creat(self,list):
        length=len(list)     #链表长度为所给的列表长度
        if length==0:
            return None     #列表为空时,返回空
        head=ListNode(list[0],None)      
        tail=head                        ##头节点值为list的第一个元素,节点的next为空,只有一个头节点,此时链表尾也为此头节点
        for i in range(length-1):              #i从0到length-2计数
            node=ListNode(list[i+1],None)      #利用ListNode创建节点,随循环为列表中的元素逐一创建节点 
            tail.next=node                 #当前节点的next指针指向新创建的节点
            tail=node                   #tail指针移向新创建的节点
        return head
    #浏览链表
    def scan(self,linkedlist):
        tail=linkedlist
        list=[1,2,3,4,5,6,7]
        while(tail):
            list.append(tail.val)
            tail=tail.next
        return list

调用时:

cl=SinglyLinkedList()      #调用类中的函数时一定要先实例化!!!!!!!     //实例化
list1 = [1,2,3,4,5,6]
cl.creat(list1)        #调用类中的method
nod=ListNode()
cl.scan(nod)         #scan()中的参数时节点(因为前面tail=node才出来的)

两数相加

 

标签:TypeError,creat,list,class,链表,tail,next,节点,两数
From: https://www.cnblogs.com/rxh-321/p/17192482.html

相关文章