精华内容
下载资源
问答
  • 2021-03-25 12:56:06

    方法一:  通过切片来实现列表倒序

        list =[1,2,3,4,5,6]
        list1=list[::-1]
        print (list1)

    方法二: 通过reverse() 函数用于反向列表中元素

        aList = [123, 'xyz', 'zara', 'abc', 'xyz']
        aList.reverse()
        print(aList)

    方法三: sort() 函数用于对原列表进行排序

    list.sort(cmp=None, key=None, reverse=False)
    
    • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
        bList= ['a', 'b', 'C', 'd']
        bList.sort(reverse=True)
        print(bList)

     

    更多相关内容
  • 如下所示: a = [0,1,2,3,4,5,6,7,8,9] b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象 b = a[1:3] 那么,b的内容是 [1,2] 当i缺省时,默认为0,即 a[:3]相当于 a[0:3] 当j缺省时,默认为len(alist), 即a[1:]...
  • Python列表逆序排列的 3 种方式

    千次阅读 2020-11-21 03:40:55
    而在 Python 中,将列表逆序有 3 种方式,下面将逐一讨论。当然,这里说的 3 种方式指的是使用 Python 的内建模块的方法,不使用第三方的方法,包括你自己可能会写的循环等。假设我们现在有这么一个列表[1, 2, 3...

    u=4079781818,3014471189&fm=173&app=25&f=JPEG?w=640&h=412&s=69E5AB468FB3AAD21AFCCD0B0000E0C3

    让列表逆序排列是我们编程时常碰到的问题,比如现在有一些客户的姓名是将拼音的首字母按 A - Z 排列的,而你现在想找一个姓张( Z )的客户,你就有了将姓名逆序排列的需求了。而在 Python 中,将列表逆序有 3 种方式,下面将逐一讨论。

    当然,这里说的 3 种方式指的是使用 Python 的内建模块的方法,不使用第三方的方法,包括你自己可能会写的循环等。

    假设我们现在有这么一个列表

    [1, 2, 3, 4, 5]

    我们最终想得到的是

    [5, 4, 3, 2, 1]

    怎么办?

    u=3849756828,603029825&fm=173&app=25&f=JPEG?w=640&h=349&s=85912C7C4EA198410CB4CD8B0000E081

    第一种方式 list.reverse()

    Python 的 list.reverse() 方法,会直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果。

    u=2716603802,1190853785&fm=173&app=25&f=JPEG?w=640&h=245&s=12D5616C5FECBB700CFEC5030200A0CB

    就像你看到的这样,调用 list.reverse() 的返回值是 None ,它逆序的结果直接体现在原来的列表里面。

    这种方式,有好处也有坏处。好处是节省内存使用,因为我们不需要重新申请空间来保存最后的结果。坏处是,我们修改了原来的数据,如果我们后面要使用原数据的话不方便。(虽说再倒序一次就行,但毕竟使用了多余的操作)。

    从可读性来说,我喜欢这种方式。这个方法从字面意思上就告诉了我们所做的操作,即使是 Python 新手不知道这个方法,也能大致清楚这个完成了什么功能。

    第二种方式 使用切片 [::-1]

    Python 的列表有一个特性叫做切片,你可以将它看作是方括号( [ ] )使用的扩展。

    简单的说下切片的使用

    mylist[start:end:step]

    上面的操作表示取 mylist 的第 start 个(列表索引从 0 开始)到第 end 个元素(不包括第 end 个),其中每隔 step 个(默认 1 )取一个。

    u=3502218969,3107333413&fm=173&app=25&f=JPEG?w=640&h=163&s=92D7616C4FADBF705E57D0070200E0CB

    当然,start 、end 和 step 都是可选的。

    mylist[:] 会返回 mylist 的副本

    u=4017380229,3428882555&fm=173&app=25&f=JPEG?w=640&h=100

    加上 step 的话也正常工作

    u=2784656194,727585741&fm=173&app=25&f=JPEG?w=640&h=100

    而当 start 、end 和 step 为负时,表示从反方向遍历,看下面的例子就理解了

    u=2920542505,2240969130&fm=173&app=25&f=JPEG?w=640&h=325&s=92DFE16C3AE0937A5E5684070200E0CB

    所以 mylist[::-1] 就能达到逆序的目的

    u=1647550332,192192301&fm=173&app=25&f=JPEG?w=640&h=102

    相比于第一种方式,这种方式会另外创建副本来保存列表的所有元素,所以需要更多的内存空间。并且,由于使用了切片的特性,导致在可读性上也不如之前的方式。但是这种方式没有改变原来的列表,在某些情况下算是一种优势。

    第三种方式 使用 reversed() 方法

    reversed 方法会将列表逆序的结果存储到迭代器里面,这种方式不会改变原来的列表,也不会创建原来列表的完整副本,只会多出迭代器对象所占的空间,相对来说也比较高效。(不明白迭代器原理的同学可以看下我之前的一篇文章 一步一步带你理解 Python 迭代器)

    如果要访问所有的元素,循环就好,就像这样

    u=2550706319,297457175&fm=173&app=25&f=JPEG?w=640&h=365&s=12B5716C1BE49B6C1AD6B4030200A0CB

    看了例子后,我们发现,这个的可读性也好,毕竟 reversed 字面意思已经体现出来了。

    但是,如果我们想要一个列表呢,也简单

    u=3747730127,2090329617&fm=173&app=25&f=JPEG?w=639&h=166&s=92D7616CCBE8BF72587694090200E0CB

    虽然这能达到目的,但是如果我们最终想要得到列表的话,这里使用 reversed 方法就没有意义了,因为这里我们又创建了 mylist 的副本。针对这种情况,用第一种或第二种方式更合适。

    那么选择哪一种呢

    1、显然,第一种是首选。毕竟高效、易读。如果不要保留原列表的数据,使用这种方式显然更有优势,否则选择后两种。

    2、如果最后需要得到列表类型的结果,那么选第二种方式比较合理。否则,第三种方式更高效。

    u=2232129858,1374686347&fm=173&app=25&f=JPEG?w=640&h=359&s=28829C5F56B0C5DE9E30AD0A0300B093

    展开全文
  • Python列表倒序输出及其效率详解

    千次阅读 2021-01-14 09:27:14
    Python列表倒序输出及其效率方法一使用Python内置函数reversed()for i in reversed(arr): passreversed返回的是迭代器,所以不用担心内存问题。方法二使用range()倒序for i in range(len(arr) - 1, -1, -1): pass...

    Python列表倒序输出及其效率

    方法一

    使用Python内置函数reversed()

    for i in reversed(arr): pass

    reversed返回的是迭代器,所以不用担心内存问题。

    方法二

    使用range()倒序

    for i in range(len(arr) - 1, -1, -1): pass

    方法三

    先使用list自带的reverse()函数,再用range()循环

    arr.reverse()

    for i in range(len(arr)): pass

    因为要先倒序,再循环,所以效率会比较低。

    方法四

    先使用list自带的sort()函数来倒序,再用range()循环

    arr.sort(reverse=True)

    for i in range(len(arr)): pass

    因为要先排序,再循环,所以效率会比较低。

    这里不讨论Python内置函数sorted(),它的效率比list自带的sort()函数要慢。

    效率

    对比代码

    import time

    arr = [x for x in range(10000000)]

    arr1 = arr.copy()

    start = time.process_time()

    for i in reversed(arr): pass

    end = time.process_time()

    print('方法一(reversed):', end - start)

    start = time.process_time()

    for i in range(len(arr) - 1, -1, -1): pass

    end = time.process_time()

    print('方法二(range倒序):', end - start)

    start = time.process_time()

    arr.reverse()

    for i in range(len(arr)): pass

    end = time.process_time()

    print('方法三(先reverse再range):', end - start)

    start = time.process_time()

    arr1.sort(reverse=True)

    for i in range(len(arr1)): pass

    end = time.process_time()

    print('方法四(先sort再range):', end - start)

    对比结果

    数组长度为一百万时(跑了三次):

    数组长度为一千万时(跑了两次):

    数组长度为一亿时(跑了两次):

    结论

    效率:方法一 > 方法二 > 方法三 > 方法四

    然而并不差多少emmm

    但还是尽量使用迭代器吧,数据量很大的时候不用迭代器的话有可能会占用过多的内存。

    到此这篇关于Python列表倒序输出及其效率详解的文章就介绍到这了,更多相关Python列表倒序输出及其效率内容请搜索python博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持python博客!

    展开全文
  • 利用python切片实现将列表元素倒叙输出 简单的说下切片的使用mylist[start: end :step] 上面的操作表示取 mylist 的第 start 个(列表索引从 0 开始)到第 end 个元素(不包括第 end 个),其中每隔 step 个(默认 1...

    利用python切片实现将列表元素倒叙输出

    简单的说下切片的使用mylist[start: end :step]
    上面的操作表示取 mylist 的第 start 个(列表索引从 0 开始)到第 end 个元素(不包括第 end 个),其中每隔 step 个(默认 1 )取一个。
    zy自创口诀:含头(start)不含尾(end),方向取决于start到end的指向
    在这里插入图片描述
    而当 start 、end 和 step 为负时,表示从反方向遍历,看下面的例子就理解了
    在这里插入图片描述
    所以 mylist[::-1] 就能达到逆序的目的
    在这里插入图片描述

    展开全文
  • 这篇文章主要介绍了基于python3实现倒叙字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 google测试工程师的一道题: 设计一个函数,使用任意语言,完成...
  • 列表[a, d, f, j,z,Z,1],对列表进行倒序,打印结果为[1,Z,z,j,f,d,a] 2.需求分析: (1).根据逻辑找规律,确定数据替换进行的次数,元素个数为奇数和偶数需要注意。 (2).交换数据的双方,索引不同,其中一个由...
  • 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'] ...
  • 1.如果要倒序遍历访问序列中的元素,可以对该序列使用reversed() 函数,reversed函数会生成一份倒序列表的拷贝,但是不会改变原列表。这个函数理解起来很自然,例如 for i in reversed(list),示例代码: >>...
  • Python3倒序输出字符串的N种方法,介绍了包括直接reverse方法,for循环正序和逆序法等三种方法来进行字符串倒序
  • python怎么将列表/字符串倒序输出

    千次阅读 2021-09-22 10:09:25
    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型。 切片实现逆序取后三个 列表的三个参数值: 第一个参数值代表索引开始的位置,比如[2,4]是从位置2开始...
  • Python 字典 将字典进行倒序翻转 >>> dic = {"a":1,"c":2,"b":3} >>> dic {'a': 1, 'c': 2, 'b': 3} >>> keys = list(dic.keys()) >>> values = list(dic.values()) >>> keys.reverse() >>> values.reverse() >>> ...
  • python-逆序输出

    千次阅读 2021-07-22 11:04:41
    jmu-python-逆序输出 前言 学习python的日常 提示:以下是本篇文章正文内容,下面案例可供参考 题目: 输入一行字符串,然后对其进行如下处理。 输入格式 字符串中的元素以空格或者多个空格分隔。 输出格式: 逆序...
  • python如何逆序输出数组

    千次阅读 2021-01-14 14:10:56
    详细内容今天就为大家分享一篇python实现将一个数组逆序输出的方法,具有很好的参考价值,希望对大家有所帮助。方法一:(推荐学习:Python视频教程)使用for循环从数组最大值开始遍历,每打印出一个值,数组最大值减...
  • s=('123456') i=len(s)-1 while i>=0: print(s[i],end='') i = i - 1 第二种倒着数 s=('123456') i = -1 while i >= -1*len(s): print(s[i],end='') i = i - 1
  • '''用栈将字符倒叙输出''' def reString(instring): #定义函数 s = Stack() #建栈 revString = '' #待放入的字符 for i in instring: s.push(i) #循环进栈 while not s.isEmpty(): #循环:直到空栈为止
  • python range的逆序输出

    2022-02-27 13:28:42
    range的逆序输出的两种方式: 1、使用range里的步长参数 step,step为负值即代表反向输出 range(begin, end, step) range(begin, end, -1) 表示逆序,范围为: [begin, end) 例子如下: # range(begin, end, 方向) ...
  • python倒数循环 for i in range(len(list)-1,-1,-1):
  • python 输出列表(list)的 倒序的三种方法

    万次阅读 多人点赞 2019-06-11 16:27:27
    lists = [1,3,4,5,6,7,9,2] # 切片 print lists[::-1] # 函数reverse 对数组进行操作 lists.reverse() print lists # 函数reversed 返回一个迭代对象,需要list化 print list(reversed(lists)) ...
  • python中list列表的切片截取操作,包含倒序输出python中list列表的切片截取操作,包含倒序输出列表定义list为list = [*,*,*,*,*,*],切片为list[start:stop:step],其中,start:开始位(索引值) stop:结束位(索引值...
  • python中将列表中的元素倒序一行输出 1、python中如何将列表中的元素倒序打印呢?废话不多说,直接上代码: test_list=[1,2,3,4,5] for i in test_list[::-1]: print(i) 输出: 第一个参数为开始位置,空表示第一...
  • python倒序输出

    千次阅读 2020-11-29 10:10:32
    python列表倒序输出及其效率方法一使用python内置函数reversed()for i inreversed(arr): passreversed返回的是迭代器,所以不用担心内存问题。 方法二使用range()倒序for i in range(len(arr) - 1, -1,...
  • Python在给列表排序输出时,返回的结果为空(None) python利用sort()方法进行排序时,发现重新给列表进行排序的语句必须单独作为一行。 如果在重新给列表排序的时候,给它嵌套在其他语句中,比如说赋值语句,或者...
  • 1. 在列表之间移动元素#首先创建一个未确认列表unconfirmed_users=['alice','brian','candace']#然后创建一个已确认空列表confirmed_users=[]while unconfirmed_users:#将未确认列表删除最后一个元素并返回值,赋值...
  • https://www.xin3721.com/eschool/pythonxin3721/本文是关于Python列表sort()添加key和reverse参数操作方法介绍,之前python sorted 倒序法在前面文章有中简单介绍过,sort()是python列表排序方法,除了列表cmp()...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,525
精华内容 1,010
关键字:

python列表倒叙输出