python 不用if 将键值存入(更新)字典

dt = {}

key1 = 'key1'
key2 = 'key2'

val1 = 'v1'
val2 = 'v2'
# 用if的方法
if key not in dt:
    dt[key1] = []
dt[key1].append(val1)
print(dt)
# ->> {'key1': ['v1']}

# 不用if
dt.setdefault(key2, []).append(val2)

print(dt)

#->> {'key1': ['v1'], 'key2': ['v2']}

# 除了列表还可以更新字典,set等

dt.setdefault('key3', {}).update({'a': 1})
print(dt)
# ->> {'key1': ['v1'], 'key2': ['v2'], 'key3': {'a': 1}}

# 更新字典
dt.setdefault('key3', {}).update({'b': 2})
# ->> {'key1': ['v1'], 'key2': ['v2'], 'key3': {'a': 1, 'b': 2}}
dt.setdefault('key3', {}).update({'b': 3})
# ->> {'key1': ['v1'], 'key2': ['v2'], 'key3': {'a': 1, 'b': 3}}
字典的setdefault方法,如果字典中key存在,返回key的值,如果不存在,返回传入的默认值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个示例代码,它会读取文件夹内所有的txt文件,并将文件名作为字典的键,文件内容作为字典的值: ``` import os def read_txt_files_in_folder(folder_path): files_dict = {} for filename in os.listdir(folder_path): if filename.endswith(".txt"): file_path = os.path.join(folder_path, filename) with open(file_path, 'r') as f: files_dict[filename] = f.read() return files_dict folder_path = 'path/to/your/folder' files_dict = read_txt_files_in_folder(folder_path) print(files_dict) ``` 这段代码会遍历文件夹内所有的文件,如果文件名以`.txt`结尾,就打开这个文件并将文件名作为键,文件内容作为值存入字典 `files_dict`。最后,返回字典 `files_dict`。 ### 回答2: Python读取文件夹内的txt文件,可以通过使用os模块和字典的方式来实现。首先需要导入os模块,然后使用os.listdir函数获取文件夹内所有文件的文件名列表。接下来,遍历文件名列表,在每个文件名上使用os.path.join函数加上文件夹路径,形成每个文件的完整路径。然后利用open函数以只读模式打开文件,并使用read方法读取文件内容。最后,将文件名作为字典的键,文件内容作为字典的值,将所有的键值对构成一个字典。 具体的代码如下所示: ```python import os def read_txt_files(folder_path): file_dict = {} files = os.listdir(folder_path) for file_name in files: file_path = os.path.join(folder_path, file_name) if os.path.isfile(file_path) and file_name.endswith('.txt'): with open(file_path, 'r') as file: content = file.read() file_dict[file_name] = content return file_dict ``` 在上述代码中,read_txt_files函数接受一个文件夹路径作为输入,返回一个字典。首先使用os.listdir获取文件夹内所有文件的文件名列表。然后遍历文件名列表,判断每个文件名是否以'.txt'结尾并且是一个文件(不是文件夹)。如果是的话,使用os.path.join函数加上文件夹路径,得到该文件的完整路径。接着使用open函数以只读模式打开文件,并使用read方法读取文件内容赋值给变量content。最后,将文件名作为键,文件内容作为值,构成一个字典。最后返回字典作为函数的输出。 可以调用read_txt_files函数并传入文件夹路径来获得一个包含文件名和文件内容的字典。 ### 回答3: 要实现python读取文件夹内的txt文件,并形成一个字典,首先需要使用`os`模块来获取文件夹内的所有txt文件的路径。然后使用`open()`函数读取每个txt文件的内容,利用字符串的`split()`方法分割每一行的键值对,将键和值存入字典中。 下面是一个示例代码,可以实现此功能: ```python import os # 定义存储字典的变量 file_dict = {} # 获取文件夹路径 folder_path = "文件夹路径" # 检查文件夹是否存在 if os.path.exists(folder_path) and os.path.isdir(folder_path): # 遍历文件夹内的所有文件 for file_name in os.listdir(folder_path): # 判断文件是否为txt文件 if file_name.endswith(".txt"): file_path = os.path.join(folder_path, file_name) # 读取txt文件内容 with open(file_path, "r") as file: content = file.read() # 分割每一行的键值对,并存入字典 for line in content.split("\n"): if line: key, value = line.split(":") file_dict[key.strip()] = value.strip() else: print("文件夹不存在!") # 打印字典 print(file_dict) ``` 在代码中,你需要将`"文件夹路径"`替换为实际的文件夹路径,然后运行代码即可将文件夹内的txt文件形成一个字典
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值