You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字典转换为元组以适配字符串endswith()方法

解决字典keys适配endswith()方法的问题

这问题我之前也碰到过,其实解法很简单——你只需要把字典的keys转成元组就行!

为什么之前的方法行不通?

  • 直接用dictMnths.keys():Python里dict.keys()返回的是dict_keys视图对象,不是endswith()要求的字符串或字符串元组,所以会触发TypeError。
  • 把dict_keys转成字符串:比如str(dictMnths.keys())会生成类似"dict_keys(['Jan', 'Feb', ...])"的字符串,这显然和你要匹配的结尾(比如Feb)不沾边,自然返回False。

正确的转换方法

直接用tuple()把dict_keys对象转成字符串元组就行,代码示例如下:

import calendar

# 你的原字典
dictMnths = dict((v,k) for k,v in enumerate(calendar.month_abbr))
# 转成endswith()接受的元组格式
month_tuple = tuple(dictMnths.keys())

# 测试调用
print('aaFeb'.endswith(month_tuple))  # 输出 True

额外说明

这里要注意:endswith()的第一个参数只接受字符串或者字符串组成的元组,列表是不行的,所以必须转成元组(直接tuple()一步到位最高效)。

内容的提问来源于stack exchange,提问作者Konrad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:37:59