假设给一个列表,[u'赵', u'钱', u'孙', u'李', u'周', u'吴']

数据列表,[[u'钱', 1], [u'吴', 2], [u'周', 3], [u'赵', 4], [u'孙', 5]]

我们获取的数据需要按照这个列表的顺序进行排序,按照之前python介绍的sorted中的key无法使用给定的顺序列表来排序,所以写了一个方法。

如果有更好的写法,欢迎分享!

# -*- coding: utf-8 -*-
list_name = [u'赵', u'钱', u'孙', u'李', u'周', u'吴']
print list_name
sort_name = [[u'钱', 1], [u'吴', 2], [u'周', 3], [u'赵', 4], [u'孙', 5]]# 1.先取列表中的需要作为排序参数的列
list_sort = []
for i in sort_name:list_sort.append(i[0])# 2.判断设置的元素对比列表是否包含数据中的所有元素,不包括就加到对比列表后面
list_diff = list(set(list_sort) - set(list_name))
if list_diff:list_name.extend(list_diff)# 3.再对于这个列按照我们想要的顺序进行排序
# 之所以要排序一个作为排序参数的列表,因为后面排序,是替换列表的内容,如果需要排序列表的参数列的个数少于比对的列表,就会报错
list_sort = sorted(list_sort, key=list_name.index)# 4.构造一个列表,与需要排序的列表相同
list_sort_end = [i for i in sort_name]# 5.从需要排序的列表获取元素,然后获取这个元素在排序参数列表中的位置,修改构造列表中的元素位置
for i in sort_name:name_index = list_sort.index(i[0])list_sort_end[name_index] = i
print list_sort_end

python-关于一个二维列表,按照给定一个顺序列表来进行排序(个人总结,不喜勿喷)相关推荐

  1. 已知一个二维数组A 表示一个矩阵,求AT。 其中,AT 表示矩阵的转置。矩阵转置的含义:表示把一个矩阵行列互换。

    已知一个二维数组A 表示一个矩阵,求AT. 其中,AT 表示矩阵的转置.矩阵转置的含义:表示把一个矩阵行列互换. //传入需要验证的数组,在main里面调用该方法public static void ...

  2. 单词搜索:给定一个二维网格和一个单词,找出该单词是否存在于网格中java实现

    题目描述 https://leetcode-cn.com/problems/word-search 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的 ...

  3. 求一个二维数组外围元素之和_C++数组作为函数的参数(学习笔记:第6章 04)...

    数组作为函数的参数[1] 数组元素作实参,与单个变量一样. 数组名作参数,形.实参数都应是数组名(实质上是地址,关于地址详见后续章节),类型要一样,传送的是数组首地址.对形参数组的改变会直接影响到实参 ...

  4. 教你用Python生成个性二维码

    编程就像做爱,你得为一个错误提供一辈子的支持 之前见到的二维码都是这样的,很是枯燥,我们需要一些个性化的东西 今天就给大家介绍一个库专门做二维码的,它叫qrcode,你可以使用pip安装它 这个库使用 ...

  5. python中求二维列表的最大最小值_python+numpy按行求一个二维数组的最大值方法

    python+numpy按行求一个二维数组的最大值方法 问题描述: 给定一个二维数组,求每一行的最大值 返回一个列向量 如: 给定数组[1,2,3:4,5,3] 返回[3:5] import nump ...

  6. Python 创建一个二维列表

    Python 创建一个二维列表 空二维列表 lis=[[] for i in range(5)]for i in range(5):lis.append([]) 普通二维列表 lis=[[i for ...

  7. python求二维数组各行最大值_python+numpy按行求一个二维数组的最大值方法

    问题描述: 给定一个二维数组,求每一行的最大值 返回一个列向量 如: 给定数组[1,2,3:4,5,3] 返回[3:5] import numpy as np x = np.array([[1,2,3 ...

  8. python如何初始化一个二维数组_使用Python实现一个简单的商品期货布林指标突破策略...

    布林指标突破策略,思路非常简单.使用Python语言编写该策略,也非常容易实现,加上回测配置信息,有70行代码,实际可以更加精简,鉴于教学策略,没有使用难懂的Python语法,使用的是比较基础的语句. ...

  9. python随机生成二维列表_对python产生随机的二维数组实例详解

    对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...

最新文章

  1. SpringBoot-hello world
  2. 大学计算机组装与维修考试题,【校选修】计算机组装与维修 考试题
  3. 009 自动打怪功能的设计和实现
  4. JZOJ 1251. 收费站
  5. HDU - 4035 Maze(概率dp)
  6. javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象...
  7. anaconda管理不同版本Python
  8. Unity3d读取XML配置文件
  9. KGSF:通过基于语义融合的知识图谱来改善会话推荐系统 KDD2020
  10. Mac中找不到.bash_profile则自己创建.bash_profile文件
  11. Windows Mobile 中怎样获得当前应用程序所在路径
  12. Go实战--二维码生成server
  13. 关于s19赛季服务器维修,王者荣耀S19赛季版本更新问题及解决办法一览
  14. 《富兰克林自传》的读后感作文4300字
  15. pdf怎么编辑修改内容?以下方法你都知道吗
  16. 计算机无法启动vm服务,电脑中的虚拟机VM开机停留在dhcp无法启动如何解决
  17. IOS 逆向开发(一)密码学 非对称加密RSA
  18. jupyter notebook第三章numpy库的一些案例分析加相关函数的解析
  19. 游戏盾-一个让你放心的盾
  20. 联想童夫尧:韬光养晦、空中换引擎,加速企业级市场增长

热门文章

  1. 判断季节,是春夏秋冬哪一个季节
  2. 暴力拒绝白嫖,著名开源项目作者删库跑路,数千个应用程序无限输出乱码
  3. 谷歌浏览器无法卸载和无法安装的问题
  4. python中的注释有哪些符号_python表示注释的符号是什么
  5. log in stackflow
  6. Error: Could not find or load main class XXX 或 Main class cannot resolve XXX
  7. xscale linux内核编译,Building arm-linux toolchain for ARM/XSCALE
  8. 转载:HP大中华区总裁孙振耀退休感言(同勉)
  9. 苹果HomeKit如此被偏爱的原因是什么?
  10. 得力M2500打印机定影器错误简单分析