Python 将目录列表转换为字符串
我对Python非常陌生,所以请原谅我,如果这比我看起来容易的话 我收到了一份目录如下:Python 将目录列表转换为字符串,python,string,list,dictionary,Python,String,List,Dictionary,我对Python非常陌生,所以请原谅我,如果这比我看起来容易的话 我收到了一份目录如下: [{'directMember': 'true', 'memberType': 'User', 'memberId': 'address1@example.com'}, {'directMember': 'true', 'memberType': 'User', 'memberId': 'address2@example.com'}, {'directMember': 'true', 'memb
[{'directMember': 'true', 'memberType': 'User', 'memberId': 'address1@example.com'},
{'directMember': 'true', 'memberType': 'User', 'memberId': 'address2@example.com'},
{'directMember': 'true', 'memberType': 'User', 'memberId': 'address3@example.com'}]
我想生成一个简单的MemberID字符串,例如
address1@example.com,
address2@example.com,
address3@example.com
但我尝试过的每一种将列表转换为字符串的方法都失败了,因为涉及到dict
有什么建议吗
', '.join(d['memberId'] for d in my_list)
既然你说你是Python新手,我将解释一下它是如何工作的
该方法组合了iterable的每个元素(如列表),并使用调用该方法的字符串作为分隔符
提供给该方法的iterable是生成器表达式(my_列表中d的d['memberId'])
。这基本上为您提供了列表中的每个元素,该列表是由列表理解创建的。[d['memberId']for d in my_list],而不实际创建列表。访问目录
', '.join(d['memberId'] for d in L)
这些一行就可以了,但初学者可能不懂。以下是它们的分类:
list_of_dicts = (the list you posted)
好的,我们有一个列表,每个成员都是一个dict。下面是一个列表理解:
[expr for d in list_of_dicts]
这就像是对目录列表中的d说。
expr
针对每个d进行评估,并生成一个新列表。您也可以使用选择其中的一些,如果,请参阅文档
那么,我们想要什么?在每个dictd
中,我们需要与键'memberId'
一起的值。这是d['memberId']
。因此,现在的列表是:
[d['memberId'] for d in list_of_dicts]
这给了我们一个电子邮件地址列表,现在我们使用join
(参见文档)将它们与逗号组合在一起:
我看到其他海报漏掉了【】injoin
的参数列表,这很有效。我得查一下,我不知道你为什么可以把它删掉。嗯
', '.join([d['memberId'] for d in list_of_dicts])