当前位置: 移动技术网 > IT编程>脚本编程>Python > Leetcode Python笔记

Leetcode Python笔记

2020年04月10日  | 移动技术网IT编程  | 我要评论

泡泡战士烂苹果辅助,恶龙军团优等生2,莎丝妮漫

每天一道leetcode,回顾一些python的方法和知识点:

  • enumerate(iterable, start=0) 枚举方法,iterable参数必须是一个序列(sequence),迭代器(iterator)或者一些其他的可供迭代的对象(object)。start参数为下标起始位置,默认为0。enumerate() 将可迭代的对象组合成索引序列,同时列出索引和对应数据。常用于for循环当中。 官方代码举例:
    >>> seasons = ['spring', 'summer', 'fall', 'winter']
    >>> list(enumerate(seasons))
    [(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]
    >>> list(enumerate(seasons, start=1))
    [(1, 'spring'), (2, 'summer'), (3, 'fall'), (4, 'winter')]

    等同于:

    1 def enumerate(sequence, start=0):
    2     n = start
    3     for elem in sequence:
    4         yield n, elem
    5         n += 1

    用于for循环:

    1 for i,j in enumerate(seasons):
    2     print(i,j)

    输出:

    0 spring
    1 summer
    2 fall
    3 winter

     (2020/4/9出现于两数之和,在python中用字典模拟hash表,牺牲空间复杂度换取时间复杂度)

  • divmod(a, b)将两个非复数作为参数,返回由他们的商(quotient)和余数(remainder)组成的元组(tuple)(a // b, a % b).,也可用于浮点数的操作,复数不行(python3.6版本)
    >>>divmod(7, 2)
    (3, 1)

    (2020/4/10两数相加,处理链表,逐位相加,用divmod处理进位,注意空链表的情况)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网