Syumef
2021-10-03 22:57
采纳率: 100%
浏览 34
已结题

python 如何查询字典中的列表中的元素/ 如何将嵌套列表的内部转化成独立的字符串

现有一个嵌套列表:
[['name', 'nationality', 'gender'], ['Mary', 'Britain', 'Female'], ['John', 'Norway', 'Male'], ['Murphy', 'Ireland', 'Female'], ['Sara', 'Norway', 'Female']],

通过zip分配可以得到以列表形式完成的字典:
{'name': ['Mary', 'John', 'Murphy', 'Sara'], 'nationality': ['Britain', 'Norway', 'Ireland', 'Norway'], 'gender': ['Female', 'Male', 'Female', 'Female']}

但目的是为了做inverted index,所以希望获得的结果是:
{'name': 'Mary, John, Murphy, Sara',
'nationality': 'Britain, Norway, Ireland, Norway',
'gender': 'Female, Male, Female, Female'}

请问该如何操作?
或者有什么办法可以直接查询列表形式字典中的元素吗?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    你可以直接用

    a=['name', 'nationality', 'gender']
    print(','.join(a))
    

    这种形式将列表转化为字符串的集合
    对处理后的字典中的每个键做对应操作即可
    有帮助望采纳~
    示例转换代码如下:

    input = {'name': ['Mary', 'John', 'Murphy', 'Sara'], 'nationality': [
        'Britain', 'Norway', 'Ireland', 'Norway'], 'gender': ['Female', 'Male', 'Female', 'Female']}
    for k, v in input.items():
        input[k] = ",".join(v)
    print(input)
    

    img

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题