【多字典公共键】快速找到多个字典的公共键及非公共键
前言
在进行一个项目过程中遇到一个多个URL参数对比与分析的问题,所以就有了这个博客。
单纯的了解找到多个字典的公共键的问题
可以移步到【python进阶】python进阶技巧
找到2-5 快速找到多个字典的公共键
想看实操,不妨浏览一下下面的实操代码
新知
如果想查找字典里是否有某个键,可以用your_dict.__contains__('something')
集合set添加元素可以用your_set.add(something)
两个字典公共键可以用d1.keys() & d2.keys()
两个字典除公共键外的键可以用d1.keys() ^ d2.keys()
实操代码
import re
from functools import reducedef generate_data_dict(url):url += "&"parameter = re.findall(r'&(.*?)=', url)head = re.findall(r'\?(.*?)=', url)parameter.insert(0, head[0])value = re.findall(r'=(.*?)&', url)dic = {}for data in zip(parameter, value):dic.update({data[0]: data[1]})return dicdef get_result(result):for per in result:print(per)print()!!!!!d1-d11的链接在下面给出,有兴趣的小伙伴可以试一试。dl = [d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11]common = reduce(lambda a, b: a & b, map(dict.keys, dl))get_result(common)partial = set()for per1 in dl:for per2 in dl:if per1 == per2:continueop = per1.keys() & per2.keys()result = op ^ commonfor per in result:if per not in partial:partial.add(per)get_result(partial)count = 1for d in dl:print("---peculiar parameter for d%d---" % count)count += 1peculiar = set()for key in d.keys():if key not in common and key not in partial:peculiar.add(key)get_result(peculiar)
d1 = generate_data_dict(“https://api5-core-c-lq.amemv.com/aweme/v1/user/profile/other/?sec_user_id=MS4wLjABAAAAhBDw8BoMhdCGOAx20uK-BKKm3Zh3HOgNoE–pKB6PQzDa_9DFu3fiznQPGoYrkib&address_book_access=1&from=0&publish_video_strategy_type=2&os_api=22&device_type=SM-N960F&ssmix=a&manifest_version_code=110501&dpi=320&uuid=355757939423022&app_name=aweme&version_name=11.5.0&ts=1597635728&cpu_support64=false&app_type=normal&ac=wifi&host_abi=armeabi-v7a&update_version_code=11509900&channel=gdt_growth14_big_yybwz&_rticket=1597635728140&device_platform=android&iid=1195870575147646&version_code=110500&mac_address=18%3A56%3A80%3AE6%3AE6%3AD7&cdid=8c0f6b1d-41a3-456a-af15-31c327791da1&openudid=db4cc2cc3f814170&device_id=369037831314888&resolution=9001600&os_version=5.1.1&language=zh&device_brand=samsung&aid=1128&mcc_mnc=46007")
d2 = generate_data_dict("https://webcast3-normal-c-hl.amemv.com/webcast/user/?request_from=admin¤t_room_id=6860406789230299919&target_uid=67630515777&sec_anchor_id=MS4wLjABAAAAaH5DCFilK8epOPjkktqAsBM9owi3-lEuXgCUjqGAlL4&anchor_id=67630515777&sec_target_uid=MS4wLjABAAAAaH5DCFilK8epOPjkktqAsBM9owi3-lEuXgCUjqGAlL4&packed_level=2&webcast_sdk_version=1450&webcast_language=zh&webcast_locale=zh_CN&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597321445&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597321445176”)
d3 = generate_data_dict(“https://webcast3-normal-c-hl.amemv.com/webcast/ranklist/room/6860298186024553229/contributor/?room_id=6860298186024553229&rank_type=18&sec_anchor_id=MS4wLjABAAAAwollZ_9va0v8BxAy71O4oveuI6J3uhpxSWJPqcVkD04&sec_user_id=MS4wLjABAAAA_thoHYfTHuEf_7T57hadCnLMgRp95cmcYVU3mbB9fhUq7f8tg6uFN8o0fx3m3f3m&anchor_id=96392129156&webcast_sdk_version=1450&webcast_language=zh&webcast_locale=zh_CN&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597288327&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597288327829")
d4 = generate_data_dict("https://webcast3-normal-c-hl.amemv.com/webcast/ranklist/hour/?hour_info=0&room_id=6860294858525444868&rank_type=12&sec_anchor_id=MS4wLjABAAAAQ3_3KZt6ryHC3GQHJyk-tomTFHdh_EN6UvQFsq0IhTA&sec_user_id=MS4wLjABAAAA_thoHYfTHuEf_7T57hadCnLMgRp95cmcYVU3mbB9fhUq7f8tg6uFN8o0fx3m3f3m&anchor_id=487824151282376&webcast_sdk_version=1450&webcast_language=zh&webcast_locale=zh_CN&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597288506&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597288506435”)
d5 = generate_data_dict(“https://webcast3-normal-c-hl.amemv.com/webcast/setting/i18n/package/?locale=zh_cn&cur_version=7699203250506956800&webcast_sdk_version=1450&webcast_language=zh&webcast_locale=zh_CN&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597320014&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597320014750")
d6 = generate_data_dict("https://lianmengapi-hl.snssdk.com/live/promotions/?author_id=92977763488&sec_author_id=MS4wLjABAAAAOsAg5fP_5Z4nYBu3n1uYnKKl7xV3gP0_5kF5HkP5s_8&room_id=6860322370587265805&entrance_info=%257B%2522request_id%2522%253A%25222020081315443401002202001409DC8BAF%2522%252C%2522sdk_version%2522%253A%25221450%2522%252C%2522action_type%2522%253A%2522draw%2522%252C%2522room_id%2522%253A%25226860322370587265805%2522%252C%2522_param_live_platform%2522%253A%2522live%2522%252C%2522enter_from_merge%2522%253A%2522live_merge%2522%252C%2522anchor_id%2522%253A%252292977763488%2522%252C%2522enter_method%2522%253A%2522live_cover%2522%252C%2522follow_status%2522%253A%25220%2522%252C%2522enter_from%2522%253A%2522live%2522%252C%2522category_name%2522%253A%2522live_merge_temai_live_cover%2522%252C%2522carrier_type%2522%253A%2522live_list_card%2522%257D&first_enter=false&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597304726&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597304726572”)
d7 = generate_data_dict(“https://lianmengapi-hl.snssdk.com/live/promotion/skus/?promotion_id=3417911833351331642&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597305657&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597305657860")
d8 = generate_data_dict("https://api3-normal-c-hl.amemv.com/aweme/v2/shop/promotion/?promotion_id=3417911833351331642&product_id=3417911833351331642&aweme_id=0&author_id=92977763488&sec_author_id=MS4wLjABAAAAOsAg5fP_5Z4nYBu3n1uYnKKl7xV3gP0_5kF5HkP5s_8&meta_param=%7B%22enter_from%22%3A%22live%22%2C%22live_room_id%22%3A%226860322370587265805%22%2C%22entrance_info%22%3A%22%7B%5C%22_param_live_platform%5C%22%3A%5C%22live%5C%22%2C%5C%22action_type%5C%22%3A%5C%22draw%5C%22%2C%5C%22anchor_id%5C%22%3A%5C%2292977763488%5C%22%2C%5C%22carrier_source%5C%22%3A%5C%22live_merge%5C%22%2C%5C%22carrier_type%5C%22%3A%5C%22live_list_card%5C%22%2C%5C%22category_name%5C%22%3A%5C%22live_merge_temai_live_cover%5C%22%2C%5C%22enter_from%5C%22%3A%5C%22live%5C%22%2C%5C%22enter_from_merge%5C%22%3A%5C%22live_merge%5C%22%2C%5C%22enter_method%5C%22%3A%5C%22live_cover%5C%22%2C%5C%22follow_status%5C%22%3A%5C%220%5C%22%2C%5C%22live_id%5C%22%3A1%2C%5C%22product_activity_type%5C%22%3A%5C%22nonactivity%5C%22%2C%5C%22request_id%5C%22%3A%5C%222020081315443401002202001409DC8BAF%5C%22%2C%5C%22room_id%5C%22%3A%5C%226860322370587265805%5C%22%2C%5C%22sdk_version%5C%22%3A%5C%221450%5C%22%2C%5C%22source_method%5C%22%3A%5C%22live_cover%5C%22%7D%22%7D&enter_from=live&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597305767&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597305767869”)
d9 = generate_data_dict(“https://api3-normal-c-lq.amemv.com/aweme/v1/promotion/user/promotion/list/?user_id=1732421802526916&sec_user_id=MS4wLjABAAAAy9YOUqHKrwQ0lR94v9UvAyMCVQ_awqX2jdpwJjH8UEYMLMHMP8SJQ2yLl940onNb&cursor=0&count=20&column_id=0&goods_type=0&shop_version=1&os_api=22&device_type=SM-N960F&ssmix=a&manifest_version_code=110501&dpi=320&uuid=355757939423022&app_name=aweme&version_name=11.5.0&ts=1597633753&cpu_support64=false&app_type=normal&ac=wifi&host_abi=armeabi-v7a&update_version_code=11509900&channel=gdt_growth14_big_yybwz&_rticket=1597633753415&device_platform=android&iid=1195870575147646&version_code=110500&mac_address=18%3A56%3A80%3AE6%3AE6%3AD7&cdid=8c0f6b1d-41a3-456a-af15-31c327791da1&openudid=db4cc2cc3f814170&device_id=369037831314888&resolution=1600900&os_version=5.1.1&language=zh&device_brand=samsung&aid=1128&mcc_mnc=46007")
d10 = generate_data_dict("https://ec.snssdk.com/comment/itemList?device_id=4116173093342071&b_type_new=2&id=3417911833351331642&contentType=json&is_vcd=1&request_tag_from=h5&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597306305&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=11701872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597306306850”)
d11 = generate_data_dict(“https://ec.snssdk.com/comment/listajax?device_id=4116173093342071&b_type_new=2&product_id=3417911833351331642&page=0&type=0&is_vcd=1&request_tag_from=h5&os_api=23&device_type=MI%205s&device_platform=android&ssmix=a&iid=1002356164793959&manifest_version_code=100401&dpi=416&uuid=008796760711127&version_code=100400&app_name=aweme&cdid=437ee2ae-38e1-4eb0-a7cb-79f29f7de882&version_name=10.4.0&ts=1597306305&openudid=a54bde54d82e80fd&device_id=4116173093342071&resolution=1170*1872&os_version=6.0.1&language=zh&device_brand=Xiaomi&app_type=normal&ac=wifi&update_version_code=10409900&aid=1128&channel=tengxun_new&_rticket=1597306306850”)
【多字典公共键】快速找到多个字典的公共键及非公共键相关推荐
- 5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)...
5.如何快速找到多个字典中的公共键(key) from random import randint,sample #随机取数 # a = sample("ABCDEF",randi ...
- py编程技巧-1.5-如何快速找到多个字典的公共键(key)
实际案例: 足球联赛,对于每轮球员的进球进行统计: 第一轮:{'梅西':2,'本泽马':1,'C罗':3} 第二轮:{'梅西':4,'格里兹曼':1,'C罗':3} 第三轮:{'梅西':2,'贝尔': ...
- python查询字典里的多个key_Python:如何快速找到多个字典中的公共键(key)
方法一:for in 循环 from random import randint, sample a1 = {k; randint(1, 4) for k in 'abcdefg'} a2 = {k; ...
- Mysql主键索引与非主键索引
Mysql主键索引与非主键索引 前言 InnoDB引擎 主键索引: 非主键索引 MySIAM引擎 主键索引 非主键索引 InnoDB和MyISAM的区别 前言 什么是B树: B树也叫B-树,是一棵多路 ...
- mysql 行自动增量为23,Mysql Innodb:自动增量非主键
是否可以自动递增非主键? 表"book_comments" book_id medium_int timestamp medium_int user_id medium_int v ...
- Python快速找到列表中所有重复的元素
Python快速找到列表中所有重复的元素:https://blog.csdn.net/sinat_29957455/article/details/103886088 index方法 为了能够找到元素 ...
- 无痕模式后如何找到历史_离异后女人如何快速找到对象?成都百和情缘婚介告诉你...
离异后女人要想快速找到对象,应该学会调整自己的心态,不要让自己总是沉迷于前面一段失败的婚姻中,要学会往前看,同时走出去,多和一些男性接触,这样更有利于找到对象. 离异后女人如何快速找到对象?成都百和情 ...
- C4D整理工程技巧经验,C4D快速把对象放到最顶部,C4D快速找到对象位置。
问题: C4D整理工程技巧经验,C4D快速把对象放到最顶部,C4D快速找到对象位置. 答案: 在对象窗口和视图窗口按s键可以快速定位对象的位置. 这个大部分人都已经知道了,还有个小技巧就是 选中某个对 ...
- idea快速找到jar包位置
ctrl+鼠标左键打开该类,然后在导航上找到该jar名右键执行如图操作就可以快速找到jar包位置
- workbook加载文件路径_Excel文件中如何快速找到目标工作表?(目录导航)
Excel文件中如何快速找到目标工作表?(目录导航) 我们在制作Excel文件时,经常会把多个工作表放在同一个Excel文件中,也就是放在同一个Excel工作簿中使用.比如区域月度销售表格,我们常常会 ...
最新文章
- 关于ftp的说法错误的是_斯坦福教授:成长型思维的养成,只需要换个说法,思维是可以训练的!...
- JSP装状态管理 session cookie
- Animy.js,自己编写的功能丰富的html动画库
- gflags调试访问越界
- sar图像去噪matlab,一种基于总曲率的SAR图像变分去噪方法与流程
- win10录屏怎么用_怎么用Win10电脑系统进行录音教你两种简单实用的方法
- POJ 1066 Treasure Hunt(计算几何)
- 梅森旋转产生随机数c语言实现,梅森旋转法产生随机数
- 寒冰作品——零起点学习Linux系列培训视频
- silvaco用户手册学习1——Getting Started with Atlas
- 常用十六进制颜色对照表代码查询
- 企业微信一天最多可以加多少人? 企业微信加好友功能会被限制吗?
- Median(查找中位数)
- 佳能打印机 android,佳能打印机app
- 【Pycharm教程】Pycharm下载安装、配置与测试
- ai电话机器人销售过程自动化功能,黑斑马电话机器人系统
- excel自动排班表怎么做?哪里有免费的自动排班表?2022最新整理30份Excel自动排班表,建议收藏
- 使用安卓(华为)手机通过USB共享网络至Mac (M1pro)
- 怎么查看python的库的函数_如何查看python库函数
- noip 模拟赛 Po姐姐与他的妹子A