Python:处理字符串的问题

Fun*_*der 1 python string data-structures

我有一个字符串如下:

names = "name:fred, name:wilma, name:barney, name2:gauss, name2:riemann"
Run Code Online (Sandbox Code Playgroud)

假设字符串名称具有name和name2属性.

如何编写函数is_name_attribute()来检查值是否为name属性?即is_name_attribute('fred')应返回True,而is_name_attribute('gauss')应返回False.

另外,如何创建一个逗号分隔的字符串,仅包含名称属性,即

"fred, wilma, barney" 
Run Code Online (Sandbox Code Playgroud)

unb*_*eli 5

像这样的东西:

>>> names = "name:fred, name:wilma, name:barney, name2:gauss, name2:riemann"
>>> pairs = [x.split(':') for x in names.split(", ")]
>>> attrs = [x[1] for x in pairs if x[0]=='name']
>>> attrs 
['fred', 'wilma', 'barney']
>>> def is_name_attribute(x):
...     return x in attrs
...
>>> is_name_attribute('fred')
True
>>> is_name_attribute('gauss')
False
Run Code Online (Sandbox Code Playgroud)