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

我对Python非常陌生,所以请原谅我,如果这比我看起来容易的话

我收到了一份目录如下:

[{'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进行评估,并生成一个新列表。您也可以使用
选择其中的一些,如果
,请参阅文档

那么,我们想要什么?在每个dict
d
中,我们需要与键
'memberId'
一起的值。这是
d['memberId']
。因此,现在的列表是:

[d['memberId'] for d in list_of_dicts]
这给了我们一个电子邮件地址列表,现在我们使用
join
(参见文档)将它们与逗号组合在一起:

我看到其他海报漏掉了【】in
join
的参数列表,这很有效。我得查一下,我不知道你为什么可以把它删掉。嗯

', '.join([d['memberId'] for d in list_of_dicts])