python数据类型小测试
# 1. 有两个列表,其中一个列表a,每一项映射到另一个列表b每一项,先对a排序,要求b的中映射关系位置保持不变,给b也按照排序, (b的8对应a的[1,2], 7对应[3,4] ... )
a = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
b = [8, 7, 9, 7, 9]
def relation(a,b):
relation = {}
for index, item in enumerate(a):
relation[tuple(item)] = b[index]
new_a = [list(i) for i in sorted(relation, key=lambda x: relation[x])]
new_b = sorted(b)
return new_a, new_b
a,b = relation(a,b)
print(a)
print(b)
"""
2. 将一维列表根据父节点,折叠起来
menu_list = [
{'id':1,'title':'菜单1','pid':None},
{'id':2,'title':'菜单2','pid':None},
{'id':3,'title':'菜单3','pid':None},
{'id':4,'title':'菜单1.1','pid':1},
{'id':5,'title':'菜单1.2','pid':1},
{'id':6,'title':'菜单2.1','pid':2},
{'id':7,'title':'菜单3.1','pid':3},
{'id':8,'title':'菜单1.1.1','pid':4},
{'id':9,'title':'菜单1.2.1','pid':5},
{'id':10,'title':'菜单4','pid':None},
]
结果:
result = [
{'id':1,'title':'菜单1','pid':None,children:[
{'id':4,'title':'菜单1.1','pid':1,children:[
{'id':8,'title':'菜单1.1.1','pid':4,children:[]},
]},
{'id':5,'title':'菜单1.2','pid':1,children:[
{'id':9,'title':'菜单1.2.1','pid':5},
]},
]},
{'id':2,'title':'菜单2','pid':None..},
{'id':3,'title':'菜单3','pid':None..},
{'id':10,'title':'菜单4','pid':None..},
]
"""
# 方法一
new_dic = {}
for i in menu_list:
new_dic[i['id']] = i
for v in new_dic.values():
pid = v['pid']
if pid:
new_dic[pid].setdefault('childern', [])
new_dic[pid]['childern'].append(v)
result = [i for i in menu_list if not i['pid']]
# 方法二
temp_list = menu_list.copy()
for i in menu_list:
i['children'] = []
pid = i['pid']
if i['pid']:
temp_list[pid-1]['children'].append(i)
result = [i for i in temp_list if not i['pid']]
python数据类型小测试的更多相关文章
- python 程序小测试
python 程序小测试 对之前写的程序做简单的小测试 ... # -*- encoding:utf-8 -*- ''' 对所写程序做简单的测试 @author: bpf ''' def GameOv ...
- Python之小测试:用正则表达式写一个小爬虫用于保存贴吧里的所有图片
很简单的两步: 1.获取网页源代码 2.利用正则表达式提取出图片地址 3.下载 #!/usr/bin/python #coding=utf8 import re # 正则表达式 import urll ...
- python 数据库小测试
1.整理博客 2.详细解释下列mysql执行语句的每个参数与参数值的含义 mysql -hlocalhost -P3306 -uroot -proot # mysql (连接数据库) # hloc ...
- python 实现九型人格测试小程序
用python实现九型人格测试,并把测试结果绘制成饼图,实现代码如下: # @Description: 九型人格 import xlrd, matplotlib.pyplot as plt data ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- Python基础-python数据类型(四)
python数据类型 在python中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存中对象的类型. python中的数据类型: 1.数字 python中没有专门定义常量的方式,通常使用大写 ...
- #6 Python数据类型及运算
前言 前文讲述了Python的输入输出以及变量的相关知识点,本节将探讨Python的数据类型以及数据之间的运算方式! 一.Python数据类型 上一节弄清了变量,其实变量所指向的值是有自己独特的数据类 ...
- 【转】Python数据类型之“序列概述与基本序列类型(Basic Sequences)”
[转]Python数据类型之“序列概述与基本序列类型(Basic Sequences)” 序列是指有序的队列,重点在"有序". 一.Python中序列的分类 Python中的序列主 ...
- PYTHON 100days学习笔记007-2:python数据类型补充(2)
目录 day007:python数据类型补充(2) 1.Python3 元组 1.1 访问元组 1.2 删除元组 1.3 元组运算符 1.4 元组索引,截取 1.5 元组内置函数 2.python3 ...
随机推荐
- [转帖]UTC时间、GMT时间、本地时间、Unix时间戳
UTC时间.GMT时间.本地时间.Unix时间戳 https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/ ...
- [转帖]Oracle 12cR2使用经验
大规模升级来临,谈谈Oracle 12cR2使用经验 随着2019年2月13日,Oracle 19c (Oracle 12.2.0.3) for Exadata 版本发布,Oracle 12cR2体系 ...
- Linux(CentOS) 查看当前占用CPU或内存最多的K个进程
一.可以使用以下命令查使用内存最多的K个进程 方法1: ps -aux | sort -k4nr | head -K 如果是10个进程,K=10,如果是最高的三个,K=3 说明:ps -aux中(a指 ...
- Bugku 分析 中国菜刀
解压之后得到了一个流量包,只有不到10KB,美滋滋 先抓重点,过滤出http,只有6条数据记录,3条post,3条response,3条post都是一样的 随便打开一条pos 是一个assert断言, ...
- Souvenir Shop 解题报告
Souvenir Shop 魔幻题目,这谁搞得到啊... 考场上完全sb了写了个线段树合并,想必我是个复杂度分析都没学过的入门级选手 发现这个网格图dag它的出度最多只有2 如果按照先走朝上的一条边进 ...
- LoadRunner【第四篇】参数化
参数化的定义及使用场景 定义:将脚本中的特定值用变量替代,该变量值是变化的(注意:这个值是我们自己创建的,不是服务器返回的). 使用参数化: 1.业务考虑,不允许相同信息 2.真实模拟不同用户 3.真 ...
- x86汇编语言实践(1)
0 写在前面 为了更深入的了解程序的实现原理,近期我学习了IBM-PC相关原理,并手工编写了一些x86汇编程序. 在2017年的计算机组成原理中,曾对MIPS体系结构及其汇编语言有过一定的了解,考虑到 ...
- golang的socket服务端与客户端
服务端 服务端的处理流程 监听端口 接收客户端的链接 创建goroutine,处理该链接 package main import ( "fmt" "net" ) ...
- pillow的用法
这是原图 from PIL import Image im=Image.open('C:/Users/history/Desktop/微信图片_20190408110611.jpg') r,g,b=i ...
- tty
tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适. 终端 ...