首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用Python将(key,value) (key,value)映射到(key,(value1,value2))

用Python将(key,value) (key,value)映射到(key,(value1,value2))
EN

Stack Overflow用户
提问于 2014-04-25 13:34:05
回答 2查看 807关注 0票数 2

我有一个表单的元组列表(用户,页面):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tuples = [(Tim, PageFoo), (Jen,PageBar), (Tim, PageBaz), ...]

我想循环这个列表并为每个用户创建一个新的列表或页面切分:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
newlist = [(Tim,[PageFoo, PageBaz]), (Jen, [PageBar]), ...]

我遇到的问题是,这些页面不按用户的顺序排列--当我循环时,我需要检查newlist以查看用户是否已经存在,如果已经存在,则更新列表。

有人能帮我通过我的心理障碍吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-25 13:42:00

@Aशwiniचhaudhary更快,但这里是श解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from collections import defaultdict

tuples = [('Tim', 'PageFoo'), ('Jen','PageBar'), ('Tim', 'PageBaz')]
result = defaultdict(list)
for key, value in tuples:
    result[key].append(value)
result
# Out[8]: defaultdict(<type 'list'>, {'Tim': ['PageFoo', 'PageBaz'], 'Jen': ['PageBar']})
dict(result)
# Out[9]: {'Jen': ['PageBar'], 'Tim': ['PageFoo', 'PageBaz']} 
result.items()
# Out[10]: [('Tim', ['PageFoo', 'PageBaz']), ('Jen', ['PageBar'])]
票数 3
EN

Stack Overflow用户

发布于 2014-04-25 13:36:34

您可以使用collections.OrderedDict进行此操作,如果订单不重要,则选择collections.defaultdict

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from collections import OrderedDict
tuples = [('Tim', 'PageFoo'), ('Jen', 'PageBar'), ('Tim', 'PageBaz')]
d = OrderedDict()
for k, v in tuples:
    d.setdefault(k, []).append(v)

>>> d.items()
[('Tim', ['PageFoo', 'PageBaz']), ('Jen', ['PageBar'])]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23303439

复制
相关文章
生成ssh key1 检查是否已经存在ssh key2 生成key3 git clone
1 检查是否已经存在ssh key 通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa) 2 生成key 在git bash中输入 ssh-keygen -t rsa -C "你的邮箱地址" 控制台输出如下: Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Shusheng Shi/.ssh/id_
JavaEdge
2018/05/16
1.1K0
php 数组根据值找key,从数组查找key对应的值 – key
…L,`nick` varchar(32) DEFAULT NULL,`reg_date` datetime DEFAULT NULL,PRIMARY KEY (`id`),KEY `IND_NICK` (`nick`),KEY `IND_REGDATE` (`reg_date`))CREATETABLE`users`(`id`int(11)NOTNULL,`nick`varchar(32)DEFAULTNULL,`reg_date`datetimeDEFAULTNULL,PRIMARYKEY…
全栈程序员站长
2022/09/15
11.6K0
如何判断Python字典中是否存在某个key
在Python中有各种数据结构,而字典是我们生产中经常会用到的数据结构,这里记录一下如果判断某个key是否存在于字典中的二种方法。
后场技术
2020/09/03
20.4K0
Vue中key值的作用
出错缘由: Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。 这样也不总是符合实际需求,所以 Vue 为你提供了一种方式来表达“这两个元素是完全独立的,不要复用它们”。只需添加一个具有唯一值的 key 属性即可。见详情
神葳
2021/01/22
1.1K0
java遍历JSONObject的key值及获取key对应的value
String str = "{FYXID:4C4600835174411190C739805DE593BC,ZFY:0,FYXMC:保安保洁费}";
用户7741497
2022/03/22
6.6K0
Python的key( )函数
Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。
狼啸风云
2019/09/25
4.9K0
python字典(dict)相加,相同key相加,不同key保留
假如 两个字典dict1={‘a’:1,’b’:2,’c’:3},dict2={‘c’:4,’d’:5},若两个dict1和dict2有相同的key则对应的value相加,若没有则直接添加过来。结果为dict3={‘a’:1,’b’:2,’c’:7,’d’:5}
kirin
2021/03/11
3.1K0
python的key()函数
Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。
狼啸风云
2019/08/31
1.6K0
MapReduce之partition按照key值分区
1、设置Partitioner类和reducer个数 job.setPartitionerClass(MyPartitioner.class); job.setNumReduceTasks(3); 2、编写Partitioner类  /* * 对mapper的结果进行分区,让多个reducer分别对多个partition文件并行处理 */ private static class MyPartitioner extends Partitioner{ private static int
静谧星空TEL
2021/04/27
4770
MapReduce之partition按照key值分区
JSONArray根据JSONObject某key值排序
/** * @Author: www.itze.cn * @Email: 814565718@qq.com * getString:字段类型, * key:JSONObject的key值 */ JSONArray jsonArray = new JSONArray(); //升序 jsonArray.sort(Comparator.comparing(ob
itze
2022/10/31
1.2K0
vue 中 key 值有什么作用?
相信大多数Vue开发者接触到key属性的时候是使用v-for进行列表渲染的时候,如果不使用key属性,Vue会产生警告,那么在这个时候key属性的作用是什么呢?
Javanx
2020/08/10
3K0
Redis 单key值过大 优化方式
由于redis是单线程运行的,如果一次操作的value很大会对整个redis的响应时间造成负面影响,所以,业务上能拆则拆,下面举几个典型的分拆方案。
高广超
2018/12/12
3.4K0
#{key}和${key} 取值的区别
#{}以预编译的形式 将参数设置到sql语句中 相当于JDBC的PreparedStatement; 可以防止sql注入
暴躁的程序猿
2022/03/24
1.1K0
#{key}和${key} 取值的区别
golang判断map中key是否存在的方法
import "fmt" func main() { dict := map[string]int{"key1": 1, "key2": 2} value, ok := dict["key1"] if ok { fmt.Printf(value) } else { fmt.Println("key1 不存在") } } 以上就是golang中判断map中key是否存在的方法 还有一种简化的写法是 import "fmt" func
用户1214487
2020/09/14
10K0
Javascript中对象如何检查key(键)是否存在
如果要特别测试对象实例的属性(而不是继承的属性),请使用hasOwnProperty:
IT工作者
2022/02/09
26.7K0
go泛型体验 map有序化(可比较key,返回有序key值)
golang 即将支持泛型,我们能用泛型做些什么呢?本文探索泛型的一个使用场景,go 的 map 进行遍历是无序的,我们往往需要按照顺序对可排序类型的key进行 map 进行有序遍历
杜争斌
2023/08/30
7993
python redis 删除key脚本
单机模式 代码片段 安装 pip install redis import redis r = redis.Redis(host='192.168.1.3', port=6188,db=0,decode_responses=True) list_keys = r.keys("DEMO_xx_*") for key in list_keys: r.delete(key) 集群模式 代码片段 安装 pip install redis-py-cluster from rediscluster impor
py3study
2020/01/08
3.1K0
Python 字典key的获取
字典key的获取 []的获取方法 字典+中括号内传key , 不进行赋值操作` 即为获取 返回key对应的value值 内置函数get获取方法 功能 获取当前字典中指定key对应的value 用法 dict.get(key, default=None) 参数 key : 需要获取value的key default : key不存在则返回此默认值 , 默认是None , 我们也可以自定义(可以是任意类型) []与get的区别 []如果获取的key不存在, 则**直接报错** get如果获取的key不存在 ,
Zkeq
2022/05/18
1.8K0
redis所有key命令,redis key命令
3.删除key            del key1 key2 ... Keyn
高久峰
2023/07/02
2610
redis 清理某个key前缀的key
例如,某次研发上线代码,造成了某种前缀的key出现了脏数据(例如key前缀名称为 key_  ), 我们需要快速的清理掉这些问题key。
保持热爱奔赴山海
2019/09/17
4.3K0

相似问题

如何在android中动态添加UI元素

15

Android设计UI元素PSD

31

如何在Xamarin中添加UI元素(如“elements”)来动态查看?

11

如何在android中查找动态UI元素的ID

14

如何在Android中设计这个UI?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文