精华内容
下载资源
问答
  • 今天做了下LeetCode上面字符串倒序的题目,突然想Python中字符串倒序都有哪些方法,于是网上查了下,居然有这么多种方法:个人觉得,第二种方法是最容易想到的,因为List中的reverse方法比较常用,做LeetCode题目7....

    今天做了下LeetCode上面字符串倒序的题目,突然想Python中字符串倒序都有哪些方法,于是网上查了下,居然有这么多种方法:

    个人觉得,第二种方法是最容易想到的,因为List中的reverse方法比较常用,做LeetCode题目7. Reverse Integer也用了这种方法,程序耗时65ms

    #字符串的反转

    #用到for循环的步长参数,从大到小循环,到0为止

    defreverse1 (s):

    rt= ''

    for i in range(len(s)-1, -1, -1):

    rt+=s[i]returnrt#用到list的反转函数reverse()

    defreverse2 (s):

    li=list(s)

    li.reverse()

    rt= "".join(li)returnrt#用到切片的步长参数,负数代表从右往左遍历

    defreverse3 (s):return s[::-1]#用到python内建函数reversed(str)

    defreverse4 (s):return "".join(reversed(s))#用到python内建函数reduce()

    """def reduce(function, sequence, initial=None):

    reduce(function, sequence[, initial]) -> value

    Apply a function of two arguments cumulatively to the items of a sequence,

    from left to right, so as to reduce the sequence to a single value.

    For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates

    ((((1+2)+3)+4)+5). If initial is present, it is placed before the items

    of the sequence in the calculation, and serves as a default when the

    sequence is empty."""

    #简单的说就是遍历序列s,放入第一个参数的函数中执行,执行之后结果作为函数的第一个参数,序列的下一个元素作为第二个参数,再次运算

    #比如第一次,x='1',y='2';第二次:x='21',y='3';第三次:x='321',y='4'...

    from functools importreducedefreverse5 (s):return reduce(lambda x,y:y+x,s)

    好奇的是,到底哪个方法运算速度更快呢,于是实验了一下:

    9m+gLNRih4kXsB3xXWflY0TxS1HjreYXj1H0wBnjqnUtqXXU+MovZ4aRen1VKqu9HpqFKXXU6PoHxmh4WXccvzeAAAAAElFTkSuQmCC

    显然,第三个方法速度最快,也就是利用切片的步长参数。

    可见,这个方法比reverse方法更快更方便,且适用于没有reverse方法的字符串和元组。

    于是用该方法替换LeetCode第7题的答案:59ms,果然快了一丢丢:)

    附LeetCode 7. Reverse Integer代码:

    增加了负数和超过int范围的判断,满足leetcode第7题需要:

    classSolution(object):defreverse(self, x):""":type x: int

    :rtype: int"""y=str(x)

    flag=0if '-' ==y[0]:

    flag= 1y= y[1:]

    result='-'

    else:result = ''result+= y[::-1]if int(result) > 2**31-1 or int(result) < 1-2**31 :return0return int(result)

    展开全文
  • Python 小练习 倒序切片

    千次阅读 2016-06-26 16:28:45
    题目要求倒序切片.... 我做出的答案和题目给的答案完全2个路子,不够还是题目的答案比较简单。不过题目旨在锻炼你的倒序切片能力,所以说还是题目的答案比较好。 我的答案 garbled = "!XeXgXaXsXsXeXmX ...

    题目要求倒序切片....

    我做出的答案和题目给的答案完全2个路子,不够还是题目的答案比较简单。不过题目旨在锻炼你的倒序切片能力,所以说还是题目的答案比较好。

    我的答案

    garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
    temp=[n for n in garbled if n != 'X']
    message=''.join(temp[::-1])
    print (message)


    练习的答案为

    garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
    message =garbled[::-2]


    输出结果一样都为:

     




    展开全文
  • 清波楼主问的是列表,及Python中所有可迭代类型类型的 切片问题, 由于我电脑上装的是Python 3.x, 在 range() 这个内建函数上和泪珠的2.x 有些许差别:2.x: range(start : stop : step) 生成 一个 从start开始...

    55741fa3000130b206400640-100-100.jpg

    清波

    楼主问的是列表,及Python中所有可迭代类型类型的 切片问题, 由于我电脑上装的是Python 3.x, 在 range() 这个内建函数上和泪珠的2.x 有些许差别:2.x: range(start : stop : step) 生成 一个 从start开始(包含start)到stop结束(不包含stop),步长为 step 的列表(下称:list类型)3.x range(start : stop : step) 生成一个 序列生成器(range 类型),在这里,range自成一种类型了, 不过 start, stop, step 的意义是一样的。以上是两个版本Python的区别,扯开一句,Python 3.x 和2.x 的不兼容在前几年3.x 刚推出是 短时间内看对Python语言是一种伤害, 一种分裂。 但是站在2016的开端来看,各种常用的库都已经支持了3.x, 且3.x版本比2.x 版本在 各个方面都高级和合理了很多,所以建议初学者都从3.x 开始学习Python.  range 的在3.x的改进就能看出: 在2.x 中产生一个list , 而3.x 中产生的是一个 生成器,在内存优化上更高一层。 好了扯远了, 写这些主要是为了说明  用3.x 演示代码和2.x 的区别: 在3.x 中 如果想保证 开头声明的L 是list ,如下:L = list(range(1,101))我们具体解释下 range(start : stop : step) 中三个暂称为 参数的作用和用法,以及一些小技巧:1, start: 如上所说, 为列表(3.x 为 range 类型)的开始, 切片或者声明时 可以省略,省略默认 start为0。2, stop:  列表的结束(不包含), 切片时可以省略,省略默认为列表的最后。3, step: 为步长,即 列表中元素之间的差, 切片或者声明时 可以省略, 默认为1。下面就range函数的各种省略的组合用代码 一一说明:>>> list(range(3)) ## 声明时 省略 start 和 step

    [0, 1, 2]

    >>> list(range(1,3)) ## 声明时 省略 step

    [1, 2]

    >>> list(range(1,11,2))  ## 步长为2

    [1, 3, 5, 7, 9]

    >>> list(range(11,1,-2)) ## 步长为负数

    [11, 9, 7, 5, 3] 列表切片的start  stop  step 和 range函数 差不多:>>> L= list(range(1,21))  ##声明 列表 L

    >>> print (L)

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

    >>> print(L[2:6]) ## 省略 step (步长), step默认为1

    [3, 4, 5, 6]

    >>> print(L[2:10:2]) ## 显式声明 step 为2

    [3, 5, 7, 9]

    >>> print(L[10:2:-2])  ## 显式声明 step 为 -2

    [11, 9, 7, 5]

    >>> print(L[:19]) ## 省略 start, start 默认为0; 省略步长 step, 默认为1

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

    >>> print(L[0::1]) ## 省略 stop , 默认到列表的结尾。

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]应该还有更多的写法,  3个位置: start, stop, step ; 且它们均可以为 正数 或负数。 题主可以自己试试。

    展开全文
  • Python 倒序切片

    2020-01-18 23:09:46
    倒序切片 members = ['张三','李四','王五','芳芳','小明','小王'] print(members[-3:]) ['芳芳', '小明', '小王'] print(members[:-3]) ['张三', '李四', '王五']` 切片要给两个参数,一个是起始位置(从这个...

     倒序切片

    members = ['张三','李四','王五','芳芳','小明','小王'] 
    print(members[-3:]) 
    ['芳芳', '小明', '小王']
    print(members[:-3])
    ['张三', '李四', '王五']`
    

    切片要给两个参数,一个是起始位置(从这个位置开始取),一个是结束位置(结束位置之前的)。得到的结果包含起始位置,但不包含结束位置。

    展开全文
  • size > 20000: raise ParameterIllegal('buffer_size large then 20000') # 限制最大读取行数 if max_line_number > 100: max_line_number = 100 out_put_line_list = [] try: # 非unix文件使用r方式打开读取长度会...
  • >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] >>> L[-2:] ['Bart', 'Paul'] >>> L[:-2] ['Adam', 'Lisa'] >>> L[-3:-1] ['Lisa', 'Bart'] ...['Adam', 'Bart']
  • python列表输出倒序

    2020-06-13 20:27:11
    lists = [1,3,4,5,6,7,9,2]# 切片print lists[::-1]# 函数reverse 对数组进行操作lists.reverse() print lists# 函数reversed 返回一个迭代对象,需要list化print list(reversed(lists)) &nb...
  • Python 小练习 倒序输出

    万次阅读 2016-06-23 19:02:11
    要求将输入的str字符串,倒序输出,不准使用[::-1]这样的倒序切片功能,也不准使用reverse函数,等于是手工转换。 琢磨了一下,代码如下。 def reverse(text):  text = list(text) #将输入字符串list化,以便切片...
  • python倒序切片小例子

    2021-03-19 11:49:19
    a = [1,55,45,44,66,88,99,788,845] print(a[1:]) print(a[1:][:3]) # print(a[:3]) print(a[1:][:3][::-1]) print(a[::1]) print(a[:1]) print(a[:-1]) print(a[-1:]) print(a[-2:-1]) print("*"*100) ...
  • 下面给大家介绍几种方法:1、数组倒序:原始元素的倒序排列(1)切片>>> arr = [1,2,3,4,3,4]>>> print (arr[::-1])[4, 3, 4, 3, 2, 1](2)reverse()>>> arr = [1,2,3,4,3,4]>>> arr.reverse()>>> print (arr)[4,...
  • 原博文2019-06-21 23:16 −没有直接的逆序函数,有两种常用方式可将字符串逆序,一为切片,一为利用list的reverse,示例如下: #切片x='123' y=x[::-1] #321 #reverse函数 y=list(x) y.reverse() #注意:作用于y,而...
  • 方法一: 通过切片来实现列表倒序 list =[1,2,3,4,5,6] list1=list[::-1] print (list1) 方法二: 通过reverse() 函数用于反向列表中元素 aList = [123, 'xyz', 'zara', 'abc', 'xyz'] aList.reverse() ...
  • testList = [7,9,12,4,77,90,180,3,88,3] #方法一:函数reverse 对数组进行操作 testList.reverse() ...#方法二:切片 print(testList[::-1]) #>>list又倒叙了一遍 [7, 9, 12, 4, 77, 90, 180, 3, 88, 3] ...
  • 今天做了下LeetCode上面字符串倒序的题目,突然想Python中字符串倒序都有哪些方法,于是网上查了下,居然有这么多种方法: 个人觉得,第二种方法是最容易想到的,因为List中的reverse方法比较常用,做LeetCode题目7...
  • 今天小编就为大家分享一篇对Python中list的倒序索引和切片实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • # coding=utf-8 if __name__ == '__main__': L = [95.5, 85, 59, 66, 72] # 倒序访问 print(L[-5]) print(L[-4]) print(L[-3]) # 倒序切片 print(L[-5:-2]) 结果: 95.5 85 59 [95.5, 85, 59]
  • Python中list的倒序索引和切片

    万次阅读 2018-05-15 03:00:10
    Python中list的倒序索引和切片是非常常见和方便的操作,但由于是倒序,有时候也不太好理解或者容易搞混。&gt;&gt;&gt; nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] &gt;&gt;&gt; print(nums[-1]...
  • 文章目录1、对list进行切片2、倒序切片3、对字符串切片 1、对list进行切片 取一个list的部分元素是非常常见的操作。比如,一个list如下: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] 取前3个元素,应该...
  • 在IDLE中输入import this即可得到python之禅 >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. ...
  • python 列表倒序输出

    2021-01-18 11:30:30
    python 列表倒序输出 #使用reverse li1 = [1, 6, 4, 3, 7, 9] li2 = ['a', 'm', 's', 'g'] li1.reverse() li2.reverse() print(li1, li2) # 利用list切片 li1 = [1, 6, 4, 3, 7, 9] li2 = ['a', 'm', 's', 'g'] ...
  • python 实现双向链表(图解)----双向链表双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱...
  • Python切片(对list顺序、倒序切片,对字符串切片) 1.对list进行切片 (1)说明:我们要取list列表中连续元素时,可以用切片手段来进行。 语法:list[a:b] 取list从a到b下标的元素,但是,不包括下标为b的这个...
  • Python列表倒序

    千次阅读 2019-08-09 11:43:47
    1.改变原有列表 使用reversed(),会改变原有列表原来顺序 person=['马云','马化腾','刘强东'] ...1.使用切片 [::-1] person=['马云','马化腾','刘强东'] person1=person[::-1] print(person) print(per...
  • python列表倒序输出及其效率方法一使用python内置函数reversed()for i inreversed(arr): passreversed返回的是迭代器,所以不用担心内存问题。 方法二使用range()倒序for i in range(len(arr) - 1, -1,...
  • PythonPython切片操作 今日份 Python 是对 切片 知识的学习,话不多说,直接上货。 对list进行切片操作 在Python代码编写中,取一个list的部分元素是非常常见的操作。比如创建一个 list ,我们要取 list 的前...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,660
精华内容 2,664
关键字:

python用切片倒序

python 订阅