【问题标题】:Multi-line text input to dictionary字典的多行文本输入
【发布时间】:2020-09-12 10:50:45
【问题描述】:

假设我从一个看起来像这样的文本文件中获得了多行输入:

(empty string here)
1 -30 2 0
3 0 5 10

等等

我解析了输入并从中形成了一个列表:

lst = [[], [(1, -30), (2, 0)], [(3, 0), (5, 10)]]

假设我想创建一个字典,其中键是行号(以 1 开头),值是嵌套字典,其中包含元组的第一个元素作为键,第二个元素作为值:

**lst -> dict:**
dict = {'1': {}, '2': {1: -30, 2: 0}, '3': {3: 0, 5: 10}}

最好的(pythonic)方法是什么?现在花了几个小时试图做到这一点。 谢谢!

【问题讨论】:

    标签: dictionary parsing python-3.7


    【解决方案1】:
    lst = [[], [(1, -30), (2, 0)], [(3, 0), (5, 10)]]
    
    print( {str(i): dict(v) for i, v in enumerate(lst, 1)} )
    

    打印:

    {'1': {}, '2': {1: -30, 2: 0}, '3': {3: 0, 5: 10}}
    

    【讨论】:

    • 谢谢!我是如此接近它让人感觉如此愚蠢:) 干得好而且速度也很快!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 2012-06-05
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多