Python列表拆分

标签 python

我只想保留 namevalue(键值对) 这是列表。

[{u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u'c_user',
  u'path': u'/',
  u'secure': True,
  u'value': u'100001724251788'},
 {u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u'csm',
  u'path': u'/',
  u'secure': False,
  u'value': u'2'},
 {u'domain': u'.facebook.com',
  u'expiry': 1441116441,
  u'name': u'datr',
  u'path': u'/',
  u'secure': False,
  u'value': u'AUojUqoBUYA2wj4j04GT5XvX'},
 {u'domain': u'.facebook.com',
  u'expiry': 1441116442,
  u'name': u'lu',
  u'path': u'/',
  u'secure': False,
  u'value': u'RitwQJMNRJ8siUh_9eIj4SMw'},
 {u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u's',
  u'path': u'/',
  u'secure': True,
  u'value': u'Aa7ebY1RvmeilCX8.BSI0od'},
 {u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u'xs',
  u'path': u'/',
  u'secure': True,
  u'value': u'62%3AjNm_3ySkegf7cg%3A2%3A1378044445%3A10945'},
 {u'domain': u'.facebook.com',
  u'expiry': 1380636479,
  u'name': u'fr',
  u'path': u'/',
  u'secure': False,
  u'value': u'0aU8cfDygWXo1ETQA.AWV9BQIzKARYURFpuxUdXLoXcl8.BSI0od.j_.FIj.AWXjyq2t'},
 {u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u'sub',
  u'path': u'/',
  u'secure': False,
  u'value': u'64'},
 {u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u'p',
  u'path': u'/',
  u'secure': False,
  u'value': u'125'},
 {u'domain': u'.facebook.com',
  u'expiry': None,
  u'name': u'presence',
  u'path': u'/',
  u'secure': True,
  u'value': u'EM378046939EuserFA21B01724251788A2EstateFDsb2F0Et2F_5b_5dElm2FnullEuct2F1378043847BEtrFnullEtwF2448105081EatF1378046499377G378046939504CEchFDp_5f1B01724251788F13CC'}]
[Dbg]>>> type(cookies)
<type 'list'>
[Dbg]>>> newlist = [{'domain': i['domain'], 'name': i['name'], 'value': i['value']} for i in cookies]
[Dbg]>>> newlist
[{'domain': u'.facebook.com', 'name': u'c_user', 'value': u'100001724251788'},
 {'domain': u'.facebook.com', 'name': u'csm', 'value': u'2'},
 {'domain': u'.facebook.com',
  'name': u'datr',
  'value': u'AUojUqoBUYA2wj4j04GT5XvX'},
 {'domain': u'.facebook.com',
  'name': u'lu',
  'value': u'RitwQJMNRJ8siUh_9eIj4SMw'},
 {'domain': u'.facebook.com',
  'name': u's',
  'value': u'Aa7ebY1RvmeilCX8.BSI0od'},
 {'domain': u'.facebook.com',
  'name': u'xs',
  'value': u'62%3AjNm_3ySkegf7cg%3A2%3A1378044445%3A10945'},
 {'domain': u'.facebook.com',
  'name': u'fr',
  'value': u'0aU8cfDygWXo1ETQA.AWV9BQIzKARYURFpuxUdXLoXcl8.BSI0od.j_.FIj.AWXjyq2t'},
 {'domain': u'.facebook.com', 'name': u'sub', 'value': u'64'},
 {'domain': u'.facebook.com', 'name': u'p', 'value': u'125'},
 {'domain': u'.facebook.com',
  'name': u'presence',
  'value': u'EM378046939EuserFA21B01724251788A2EstateFDsb2F0Et2F_5b_5dElm2FnullEuct2F1378043847BEtrFnullEtwF2448105081EatF1378046499377G378046939504CEchFDp_5f1B01724251788F13CC'}]

收件人:

    <Cookie>.facebook.com:datr:gyenULkNKjCIJFTYDz2qbp9I
    <Cookie>.facebook.com:c_user:120004707330532
    <Cookie>.facebook.com:fr:0LglznOeWFepXcvAF.AWVm9awu51UtdvT65f9HqxYXUsI.BQp4ej._Q.AAA.AWW8GKGl
    <Cookie>.facebook.com:lu:gg1dq7zzNjC6pd7W9W0SFHnA
    <Cookie>.facebook.com:s:Aa5Zmp1zeLF36x3s
    <Cookie>.facebook.com:xs:1%3AWvWR_uXSzC3p3w%3A0%3A1374938392
    <Cookie>

最佳答案

要从字典列表中提取任意名称,您可以使用 operator.itemgetter() :

from operator import itemgetter

names = ["name", "value"] # fields to extract
values = itemgetter(*names) # function that extracts values from an input dict

result = [dict(zip(names, values(d))) for d in list_of_dicts]
print(result)

输出

[{'name': u'c_user', 'value': u'100001456251788'},
 {'name': u'csm', 'value': u'2'},
 {'name': u'datr', 'value': u'AUojdfkBUYA2wj4j04GT5XvX'}]

关于Python列表拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559635/

相关文章:

python - Python 的 VS 代码中的 "Debug Adapter Executable not provide"

python - 如何在保留一些嵌套的同时展平列表(在Python中)

python - 从数据帧的不同部分减去两个系列

python - pandas 绘制一个特定的列作为 x 轴和 y 轴?

python - Scrapy在长时间运行的过程中多次抓取

python - 提取或裁剪热图像的冷或热区域

python - Pyramid 的内置身份验证/授权可以实现复杂的安全方​​案吗?

启动 Linux 上的 Python 脚本

python - Easy_install 不断将软件包安装到过时版本的 python

python - 从 python 执行 R 脚本