精华内容
下载资源
问答
  • 刚开始做这个的时候觉得很容易,但是当随机把数据抽取出来之后,还需要按顺序放回新的列表这一点就比较难了。 最开始想的是生成一个index的列表,每次随机抽一个index,然后取出的就是list[index]这个元素,然后再...

    刚开始做这个的时候觉得很容易,但是当随机把数据抽取出来之后,还需要按顺序放回新的列表这一点就比较难了。

    最开始想的是生成一个index的列表,每次随机抽一个index,然后取出的就是list[index]这个元素,然后再按index这个数将其放回新的列表中,本以为这样就万无一失了实际上是我想多了hhhhh,这样生成的新的列表元素顺序并不是按照在原有列表的顺序来排的,思前想后想了半天,用这个方法来解决了,可能不够好,还有些浪费资源,但是目前我所能想到的就是这么多,并且我处理的数据也不多,感觉这个方法完全够用了。

    基于我没有在网上看到一些比较合适的方法,因此把自己的方法贴出来,欢迎指正。

    import random
    list = ['a', 'b', 'c', 'd', 'e', 'f']
    list1 = ['']*len(list)
    index = [i for i in range(len(list))]
    while len([i for i in list1 if i != '']) < 3:
        k = random.choice(index)
        list1[k] = list[k]
        index.remove(k)
        if len(index) == 0:
            break
    while '' in list1:
        list1.remove('')
    print(list1)
    

    主旨思想是先生成一个和原列表一样长的空列表,
    生成空列表的想法是参考random库中的sample函数源码来的。
    然后将原列表中的元素抽出来按原有顺序放入新的列表,最后如果有空元素存在的话,删除。

    大概就是这么一个办法,不过我始终觉得这办法还是太笨。但是emmmm能用就行了hhh

    展开全文
  • 树结构列表按父子顺序排序

    千次阅读 2017-12-01 15:28:35
    传过来的数据顺序随机,需要排序,保证父节点public List<Entity> sortParentAndChild(List<Entity> entities) { // 1. 寻找集合中的所有根节点 Map, List<Entity>> parentChildrenMap = new HashMap<Stri
    package com.naydog;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    /**
     * 目的:传过来的节点集合顺序随机,需要排序以保证父节点在子节点之前
     * 只保证子节点在父节点后面,不保证紧随其后
     * 节点有id,父节点pid字段,以及其他若干字段
     */
    public class SortByParentAndChild {
    
        public static List<E> sortParentAndChild(List<E> entities) {
            // 1. 寻找集合中的所有根节点
            Map<String, List<E>> pMap = new HashMap<String, List<E>>(); // 父节点为key
            Set<String> ids = new HashSet<String>(); // 存储节点id
            Set<String> pids = new HashSet<String>(); //存储父节点id
            for (E entity : entities) {
                ids.add(entity.getId());
                String pid = entity.getPid();
                pids.add(pid);
                if(null == pMap.get(pid)) {
                    pMap.put(pid, new ArrayList<E>());
                }
                pMap.get(pid).add(entity);
            }
            pids.removeAll(ids); // 得到根节点
    
            // [OPTIONAL] 节点id重复,退出
            if (ids.size() < entities.size()) {
                return null;
            }
    
            // 2. 父子排序
            List<E> sortedList= new ArrayList<E>();
            for (String rootPid : pids) {
                List<E> queue = pMap.remove(rootPid);
                if (null != queue) {
                    while(queue.size() > 0) {
                        E entity = queue.remove(0);
                        sortedList.add(entity);
                        List<E> tmpList = pMap.remove(entity.getId());
                        if (null != tmpList) {
                            queue.addAll(tmpList);
                        }
                    }
                }
            }
            return sortedList;
        }
    
        public static void main(String[] args) {
            List<E> list = new ArrayList<E>();
            list.add(new E("A2", "A1"));
            list.add(new E("A1", "0"));
            list.add(new E("A3", "A1"));
            list.add(new E("C1", "1"));
            list.add(new E("B3", "B2"));
            list.add(new E("B2", "B1"));
            list.add(new E("B1", "0"));
            System.out.println(sortParentAndChild(list));
        }
    }
    
    /**
     * 节点
     */
    class E {
        private String id;
        private String pid;
    
        public E(String id, String pid) {
            this.id = id;
            this.pid = pid;
        }
    
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getPid() {
            return pid;
        }
        public void setPid(String pid) {
            this.pid = pid;
        }
    
        @Override
        public String toString() {
            return "E [id=" + id + ", pid=" + pid + "]";
        }
    
    }
    展开全文
  • Python3下按顺序打乱两个列表

    千次阅读 2019-01-24 13:11:10
    在python3下按顺序打乱两个列表 在机器学习里面需要将data的list和target的list按顺序打乱,看了其他博客里面, data = [1, 2, 3] target = [4, 5, 6] data[:], target[:] = zip(*random.shuffle(zip(data, ...

    在python3下按顺序打乱两个列表

    在机器学习里面需要将data的list和target的list按顺序打乱,看了其他博客里面,

    data = [1, 2, 3]
    target = [4, 5, 6]
    tmp = zip(data, target)
    random.shuffle(tmp)
    data[:], target[:] = zip(*tmp)

    在python3下,会报错,说zip对象没有len()方法。原因是zip是一个generator,在shuffle函数中会用到len属性,解决方法是我们把zip转换为列表。

    zip2list = [i for i in zip(data, target)]
    data[:], target[:] = zip(*random.shuffle(zip2list))

    就可以了

    展开全文
  • Python编程语言学习:列表与字典互转的几大方法集锦、从列表按顺序循环抽走一个元素输出剩余元素之详细攻略 目录 列表与字典互转的几大方法集锦 T1、基于两个列表利用zip函数来构造字典 T2、基于...

    Python编程语言学习:列表与字典互转的几大方法集锦、从列表中按顺序循环抽走一个元素输出剩余元素之详细攻略

     

     

    目录

    列表与字典互转的几大方法集锦

    T1、基于两个列表利用zip函数来构造字典

    T2、基于集合set利用可迭代对象方式来构造字典

    T3、一行代码利用enumerate函数将列表及其映射构造字典

    从列表中按顺序循环抽走一个元素,输出剩余元素


     

     

    列表与字典互转的几大方法集锦

    T1、基于两个列表利用zip函数来构造字典

    #T1、利用zip函数构造合并两个列表
    list01=['养生','科技','财经','游戏','育儿','汽车']
    list02=[1,2,3,4,5,6]
    
    dict_data=dict(zip(list01,list02))
    print(dict_data)
    
    
    
    
    {'养生': 1, '科技': 2, '财经': 3, '游戏': 4, '育儿': 5, '汽车': 6}

     

    T2、基于集合set利用可迭代对象方式来构造字典

    dict_data = dict([('one', 1), ('two', 2), ('three', 3)])
    print(dict_data )

     

     

    T3、一行代码利用enumerate函数将列表及其映射构造字典

    Python编程语言学习:一行代码利用enumerate函数把纯列表数据转为自带索引的字典数据,字典格式数据应用之key和value相互提取

     

    从列表中按顺序循环抽走一个元素,输出剩余元素

    #Python编程语言学习:从列表中按顺序循环抽走一个元素,输出剩余元素
    listsInit=[1,2,3,4,5,6]
    lists=listsInit.copy()
    for a in range(len(lists)):
        print(lists[a])
        lists.remove(lists[a])
        print(lists)
        lists_temp=listsInit.copy()
        lists=lists_temp
    1
    [2, 3, 4, 5, 6]
    2
    [1, 3, 4, 5, 6]
    3
    [1, 2, 4, 5, 6]
    4
    [1, 2, 3, 5, 6]
    5
    [1, 2, 3, 4, 6]
    6
    [1, 2, 3, 4, 5]

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 不修改Django源码让admin中的...Django的admin管理后台一直是一个很强大的工具,但是有一个让人很不爽的地方就是model列表的显示顺序model名字来的,如果是英文字母顺序还比较好找,如果是中文则是完全无序了,一
  • 问题:输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致。例如:import pandas as pdgrades = [48,99,75,80,42,72,68,36,78]df = pd.DataFrame( {'ID': ["x%d" % r ...
  • Python学习笔记之列表元素修改顺序

    千次阅读 2020-10-25 16:06:28
    """sort()永久性字母顺序排序""" cars.sort() print(cars) #sort函数将列表中元素永久性修改顺序 cars.sort(reverse=True) print(cars) #reverse = True 让列表元素永久性由字母相反顺序排序,注意是大写T ""...
  • 相反的顺序输出列表的值

    千次阅读 2019-04-08 21:37:21
    相反的顺序输出列表的值 法一: a = ['one', 'two', 'three'] for i in a[::-1]: print(i) 法二: a = ['one', 'two', 'three'] print(a[-1::-1]) 法三:使用reverse() list = ['a', 'b', 'c', '...
  • # encoding: utf-8 # 定义列表去重返回有序的函数 def set_distinct_sort... :return: 返回列表去重后保持原来元素的顺序不变 """ list2 = list(set(list1)) list2.sort(key=list1.index) r...
  • 初始化列表初始化顺序

    千次阅读 2018-07-23 09:15:01
    初始化列表类中声明变量的先后顺序来初始化,与初始化列表顺序无关。   class Printer{ public: Printer(std::string name) {std::cout &lt;&lt; name;} }; class Container{ public: ...
  • 调整列表顺序

    千次阅读 2017-06-03 11:10:34
    Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes’ values. For example, Given{1,2,3,4}, ...
  • 快速排序 —— 将列表按从小到大的顺序排列快速排序将列表按从小到大的顺序排列 快速排序 先从数列中取出一个数作为基准数。 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 再对...
  • 初始化列表顺序

    千次阅读 2012-11-18 14:14:41
    以初始化列表的形式在构造函数中对类的成员变量初始化时,初始化的顺序和变量声明的顺序一致(不是初始化列表中的顺序)。当初始化列表中的顺序和成员变量声明的顺序不一致时,编译会产生警告(g++中打开-Wall): ...
  • 文章目录一、要求:将字典列表 list_1 按照 c_type 对应 list_2 的顺序排序二、具体实现的两种写法 --- 一、要求:将字典列表 list_1 按照 c_type 对应 list_2 的顺序排序 list_1 = [{'id': 1, 'begin_time': ...
  • Python实现把列表里的数字从小到大的顺序排列

    万次阅读 多人点赞 2019-04-13 19:20:09
    拿出列表里的第0个元素,把它赋给一个叫做“最小值”的变量,然后用这个变量去跟后面的每个数字一一对比,如果碰到比它小的,就把那个新发现的小数字赋给“最小值”变量,否则维持原状。 这样一轮下来,就能找到...
  • python列表list保留顺序去重

    千次阅读 2018-05-15 17:17:02
    常规通过迭代或set方法,都无法保证去重后的顺序问题如下,我们可以通过列表的索引功能,对set结果进行序列化old_list=["a",1,"b","a","b",2,5,1]new_list=list(set(old_list)...
  • 初始化列表顺序应该是按照你成员声明顺序初始化。
  • 原生JS将列表子元素顺序反转

    千次阅读 2017-07-24 11:46:49
    编写一个函数将一个列表里面的所有子元素顺序反转,问题不难但是解决的方法却有多种,而且性能大不一样,下面就介绍几种常用的方法: 1. 采用直接的DOM操作: var ul = document.getElementById('target'); var list...
  • 相反的顺序输出列表的值。

    千次阅读 2018-01-10 09:52:37
    def reverseTheList_1(self, listData): listData = list(listData) listData.sort(reverse=True) print(listData) def reverseTheList_2(self, listData): listData = list(list...#python倒序读取列表的方法
  • 题目内容: ...将它们中的素数按顺序存入一个列表中并输出该列表。 输入格式: 一行用逗号分隔的正整数 输出格式: 素数组成的列表 输入样例: 3, 4, 5, 6, 7, 8 输出样例: [3, 5, 7]
  • list = list(map(int,input().split()))
  • 方案一: import numpy as np ...print("原来数据顺序:") print(array) state = np.random.get_state() np.random.shuffle(array) np.random.set_state(state) print("打乱原顺序,新的随机数据:") print(ar...
  • Python按顺序读取文件夹中文件

    千次阅读 多人点赞 2020-08-25 20:38:44
    下面介绍Python中的几种按顺序(假如有)读取文件夹中文件的方法。  首先不得不说的是python中的os.listdir()方法。os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。功能是不是一目了然? ...
  • testlist = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] set2list = list(set(testlist)) print set2list set2list.sort(key = testlist.index) #运用索引 print set2list #结果: ['cc', 'shafa', 'bbbb...
  • C++类构造函数初始化列表执行顺序

    千次阅读 2016-08-05 12:24:57
    C++类构造函数初始化列表执行顺序
  • python怎么打乱一个列表顺序

    千次阅读 2019-04-08 17:27:20
    给定一串排好序的列表a=[1,2,3,4,5],设计一个函数,打乱这个列表(即每次输出列表元素的顺序要不一致)(代码题) import random a=[1,2,3,4,5] random.shuffle(a) print(a) ...
  • Python列表list不改变顺序去重的想法

    千次阅读 2018-10-18 13:58:58
    reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。 例如,编写一个f函数,...
  • python将两个列表按照相同顺序打乱

    千次阅读 2019-11-02 10:28:18
    1、完成了数据的组合,shuffle, 拆分,是很有效的数据处理方法。 b = [1, 2, 3, 4, 5, 6 , 7, 8 ,9] a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'] c = list(zip(a, b)) print(c) random.shuffle(c) ...
  • MFC下拉列表数据顺序乱排解决方法

    千次阅读 2015-10-24 17:35:49
    MFC下拉列表数据在编译后和输入输入的数据顺序不对,如下图为编辑中的数据: 但是显示的时候效果如下: 这事我们不想要的效果。修正方法如下: 最终效果如下所示: ...
  • python两个列表合成字典顺序问题

    千次阅读 2016-12-22 22:56:52
    collection库里有这个OrderedDict真是极好的哟,反正我觉得就是能按列表里面从头开始的顺序,加入字典。 最终,其实一开始的上面那块代码都有,成功实现了标签class属性和内容的同步变化。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 845,272
精华内容 338,108
关键字:

列表必须按顺序