【问题标题】:Put a dictionary into list将字典放入列表
【发布时间】:2018-06-05 21:57:52
【问题描述】:

我的代码应该:

  1. 读取文件名并将其保存到列表中
  2. 打开此文件并将内容保存到带有列表的列表中。

例如:

list=['filename1','filename2','filename3']

然后:'filename1' - 应该是包含其所有内容的字典。文件看起来像:
'abc' '123'
'cde' '456'

如何正确地将字典放入列表中,这样我就可以 用list[0] 等调用它。

我的代码是:

def getServerVersion(dirpath):
    global dictname
    dicktlist = os.listdir(path)
    arr_len = len(dictname)
    for i in range(arr_len):
        dictvalue = []
        str = ''.join(dirpath) + dictname[i]
        with open(str) as f:
             dictvalue[i]=dict(x.rstrip().split(None, 1) for x in f)
    print(dicktlist)

而不是它给我的列表[{key:value},{key:value}]。所以我需要这个列表来存储对象。怎么做?

【问题讨论】:

  • 你的函数没有返回任何东西。这是故意的吗?
  • 看来您的问题不是如何将字典放入列表,而是如何首先创建字典,对吧?如果附加到列表是您的问题,那么请使用append
  • Dicktlist?呵呵

标签: python list file dictionary


【解决方案1】:

如果我理解您的问题,您将从文件名列表开始,并希望以字典列表结束,其中列表中的每个字典都有一个与文件名相对应的键,其值为关联的内容文件。如果这是正确的,那么一种方法就是这样处理:

filenames = ["file1.txt", "file2.txt", "file3.txt"]

filecontents = []

for a_filename in filenames:
    with open(a_filename) as f:
        contents = f.read()
    filecontents.append({filename: contents})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 2014-09-30
    • 2022-10-18
    • 2020-07-24
    相关资源
    最近更新 更多