精华内容
下载资源
问答
  • 列表的反转
    千次阅读
    2021-03-28 22:04:11

    方法一:使用reversed()函数

    a_list = [1, 4, 6, 2, 9, 4, 8, 3, 7]
    a_list = list(reversed(a_list))
    print(a_list)

    提示:
    reversed(a)返回的是迭代器,所以前面加个list转换为列表

    方法二:使用list.reverse()函数

    list1 = [1, 4, 6, 2, 9, 4, 8, 3, 7]
    list1.reverse()
    list2= list1
    print(list2)

    list1 = [1, 4, 6, 2, 9, 4, 8, 3, 7]
    list1.reverse()
    print(list1)

    提示:
    使用list.reverse()函数,list.reverse()只能单独一行写
    1、a = list.reverse()
    2、print(list.reverse())都是错误的
    不能直接赋值给其他数组,转换后才行

    方法三:列表的切片操作 list [ start: end : step]

    list1 = [1, 4, 6, 2, 9, 4, 8, 3, 7]
    print(list1[::-1])

    提示:
    start 表示起始位置,省略时表示包含end之前的所有元素
    end 表示终止位置(不包括end),省略时表示包含start的所有元素
    step 步长,默认为1,正数是索引从左到右,负数是从右到左

    方法四:使用sort()和sorted()方法

    注意:不是真正的反转,只是排序,不过当排好序的列表,使用逆序,也起到反转的效果

    a_list = [1, 2, 3, 6, 8, 9, 12]
    a_list.sort(reverse=True)
    print(a_list)

    提示:
    默认从小到大排序,reverse = True 参数表示从大到小

    a_list = [1, 2, 3, 6, 8, 9, 12]
    b_list = sorted(a_list,reverse=True)
    print(b_list)

    提示:
    sorted(a_list,reverse=Ture)会生成一个新的列表,原列表a_list不变
    默认从小到大,加入参数reverse=Ture从大到小

    更多相关内容
  • 第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 listNode = [1,2,3,4,5] newList = list(reversed(listNode)) print(newList) #结果 [5,4,3,2,1] 第二种,使用...
  • python列表反转的4种方法

    千次阅读 2022-01-01 09:00:18
    在某些应用中可能需要将列表元素进行逆序排列,也就是所有的元素位置反转。 以下总结了python列表常见的4种反转方法: 一、列表对象的reverse()...列表反转结果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1] 二、内置r

    在某些应用中可能需要将列表元素进行逆序排列,也就是所有的元素位置反转。

    以下总结了python列表常见的4种反转方法:
    一、列表对象的reverse()方法
    语法:列表名.reverse()
    该方法没有返回值,将列表中的所有元素进行原地逆序

    # reverse()方法
    a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
    a.reverse()
    print('列表反转结果:', a)
    

    列表反转结果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]

    二、内置reversed()函数
    语法:reversed(列表名)
    与reverse()方法不同,内置函数reversed()函数不对原列表做任何修改,而是返回一个逆序排列后的迭代对象。

    # 内置reversed()函数
    a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
    a1 = reversed(a)
    print('列表反转结果(迭代对象):', a1)
    print('列表反转结果转换成列表:', list(a1))
    

    列表反转结果(迭代对象):<list_reverseiterator object at 0x00000243EF467A20>
    列表反转结果转换成列表:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]

    三、切片
    语法:列表名[x:y:z]
    x:切片开始位置,默认为0
    y:切片截止(但不包含)位置,默认为列表长度
    z:切片的步长,默认为1;-1则表示从最后元素开始切片

    # 切片实现反转
    a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
    print('列表反转结果:', a[::-1])
    

    列表反转结果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]

    四、使用for循环

    # 使用for循环
    a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
    a1 = [a[len(a)-i-1] for i in range(len(a))]
    print('列表反转结果:', a1)
    

    列表反转结果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]

    以上就是实现列表反转的4种方法。

    展开全文
  • 给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。 数据范围: n\leq1000n≤1000 要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。 如当输入链表{1,2,3}时, 经反转后,原链表变为{3,2,1...

    1.题目描述:

    给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。
    数据范围: n\leq1000n≤1000
    要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。
    如当输入链表{1,2,3}时,
    经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。

    2.解题:

    使用栈,因为栈是先进后出的。实现原理就是把链表节点一个个入栈,当全部入栈完之后再一个个出栈,出栈的时候在把出栈的结点串成一个新的链表。原理如下:
    在这里插入图片描述

    3.代码实现

    import java.util.Stack;
    
    /**
     * @ClassName reverse
     * @Description TODO
     * @Author NZS
     * @Date 2021-10-31 21:28
     * @Version 1.0
     */
    
    class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }
    
    public class reverse {
    
        public static ListNode ReverseList(ListNode head) {
            Stack<ListNode> stack = new Stack<>();
            while (head!=null){
                stack.push(head);
                head = head.next;
            }
            if (stack.isEmpty()){
                return null;
            }
            ListNode node = stack.pop();
            ListNode dummy = node;
            //栈中的结点全部出栈,然后重新连成一个新的链表
            while (!stack.isEmpty()) {
                ListNode tempNode = stack.pop();
                node.next = tempNode;
                node = node.next;
            }
            //最后一个结点就是反转前的头结点,一定要让他的next
            //等于空,否则会构成环
            node.next = null;
            return dummy;
        }
    
    
        public static void main(String[] args) {
            ListNode list1 = new ListNode(1);
            ListNode list2 = new ListNode(2);
            ListNode list3 = new ListNode(3);
            list1.next=list2;
            list2.next=list3;
            list3.next=null;
            ListNode resu = ReverseList(list1);
            while (resu!=null){
                System.out.println(resu.val);
                resu = resu.next;
            }
        }
    }
    
    展开全文
  • 列表反转练习,提取两个列表中的相同元素,列表猜数字互动游戏,内容不涉及复杂函数和结构,全部由基本语法构成,适用于Python初学者。
  • python列表反转的三种方式

    千次阅读 2021-09-22 15:52:15
    print(cmpValue) 输出: [('a', 30), ('b', 27), ('c', 29), ('d', 28)] [('lddd', 27), ('pa', 28), ('jugg', 29), ('yyf', 30)] 如果对象是字典,需要使用items()或者iteritems()将字典转换为二元组的列表 ...

    1.内建函数 reversed()

     li = [1,2,3,4,5,6]
     a = list(reversed(li))
     print(a)
    

    注意:reversed()函数返回的是一个迭代器,而不是一个List,所以需要list函数转换一下

    2.内建函数sorted

    语法

    sorted(iteralbe,key=None,reverse=False
    

    iterable,用来比较的参数

    key用来比较的元素

    reverse-排序规则, reverse = True(降序 reverse=False(升序 -默认

    sorted([5,2,6,7,1,0])
    

    默认通过key排序,

    如果需要通过value排序,

    '''
    学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    #通过key值排序
    L1 = [('c',29),('d',28),('b',27),('a',30)]
    sortKey = sorted(L1)
    print(sortKey)
    
    #通过value排序
    from operator import itemgetter
    L2 = [('jugg',29),('pa',28),('lddd',27),('yyf',30)]
    cmpValue = sorted(L2,key=itemgetter(1))
    print(cmpValue)
    

    输出:

    [('a', 30), ('b', 27), ('c', 29), ('d', 28)]
    [('lddd', 27), ('pa', 28), ('jugg', 29), ('yyf', 30)]
    

    如果对象是字典,需要使用items()或者iteritems()将字典转换为二元组的列表

    3.使用分片

    a =[1,2,3,4,5,6,7,8]
    d = a[::-1]
    print(d)
    #其中[::-1代表从后向前取值,每次步进值为1
    

    输出:

    [8, 7, 6, 5, 4, 3, 2, 1]
    
    展开全文
  • Python 列表反转显示方法

    千次阅读 多人点赞 2020-01-15 14:53:11
    第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 listNode = [1,2,3,4,5] newList = list(reversed(listNode)) print(newList) #结果 [5,4,3,2,1] 第二种,使用...
  • https://www.xin3721.com/eschool/python.html第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换listNode = [1,2,3,4,5]newList = list(reversed(listNode))print(new...
  • 这篇文章主要介绍了Python 列表反转显示的四种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧第一种,使用reversed 函数reversed...
  • python-列表反转

    千次阅读 2018-12-21 13:13:23
    列表反转 题目内容: 输入一个列表,将其反转后输出新的列表。 可以使用以下实现列表alist的输入:   alist=list(map(int,input().split()))   输入格式: 共一行,列表中的元素值,以空格隔开。   输出...
  • 列表反转的三种方法

    千次阅读 2020-07-04 17:45:11
    知识点:列表、函数 a = [1,2,3,4,5], 现需要进行对a进行反转 方法1:使用reversed()函数 list(reversed(a)) reversed(a)返回的是迭代器,所以前面加个list转换为list 方法2:使用sorted() sorted(a,reverse=True) ...
  • python列表反转

    2022-01-29 21:09:57
    方式一:使用reverse方法 li=['a','b','c','d',9,55,33,45,31] li.reverse() print(li) 方式二:使用切片 li=['a','b','c','d',9,55,33,45,31] new_li=li[::-1] print(new_li)
  • 3列表反转(10分)

    2020-04-17 10:37:56
    3列表反转(10分) 题目内容: 输入一个列表,将其反转后输出新的列表。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 输入格式: 共一行,列表中的元素值,以空格隔开。 输出格式: 共...
  • python 实战11 列表反转

    2019-01-23 12:37:49
    输入一个列表,将其反转后输出新的列表。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 输入格式: 共一行,列表中的元素值,以空格隔开。 输出格式: 共一行,为一个列表。 输入样例:...
  • 列表反转

    2020-03-17 10:37:59
    输入一个列表,将其反转后输出新的列表。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 输入格式: 共一行,列表中的元素值,以空格隔开。 输出格式: 共一行,为一个列表。 输入样例: ...
  • 1. 获取一个列表中的最大值,代码如下: %%%------------------------------------------------------------------- %%% @author Administrator %%% @copyright (C) 2019, &lt;COMPANY&gt; %%% @doc %%% %...
  • 反转列表 使用双冒号 定义一个列表 a 通过a[start:end : step]来反向输出结果 a= [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ] print(a[::]) #完整输出 print(a[::-1]) #倒序输出 print(a[:8:2]) #步长为2,对应...
  • 原标题:四种Python 列表反转显示方法第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 第二种,使用sorted函数,sorted是排序函数,它是对一个列表进行排序后生成一...
  • 要求: ...在Python中有专门进行列表反转的函数–reverse() l = [13, 30, 42, 85, 9, 45] l.reverse() # [45, 9, 85, 42, 30, 13] 还可以使用切片操作进行列表反转 l = [13, 30, 42, 85, 9, 45] p
  • python练习 011 列表反转

    千次阅读 2019-12-05 21:29:19
    输入一个列表,将其反转后输出新的列表。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 输入格式: 共一行,列表中的元素值,以空格隔开。 输出格式: 共一行,为一个列表。 输入...
  • 反转列表-递归

    2021-12-02 16:10:36
    public ListNode reverseList(ListNode head) { //返回原链表的尾节点,每次递归都返回这个节点 if (head == null || head.next == null) { return head; } ListNode p = reverseList(head.next);...
  • 列表反转】Python

    2020-03-14 18:08:57
    列表反转】输入一个列表,将其反转后输出新的列表。输入格式:共一行,列表中的元素值,以空格隔开。输出格式:共一行,为一个列表。 输入样例: 123 234 456 输出样例: [456,234,123] alist=list(map(int,input()...
  • 主要介绍了python反转列表的三种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 【算法】列表反转

    2017-08-27 19:20:01
    输入一个链表,反转链表后,输出链表的所有元素。 代码如下: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution {

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,890
精华内容 37,956
关键字:

列表的反转