Python 如果len==1,则仅获取字典中的值

Python 如果len==1,则仅获取字典中的值,python,coding-style,Python,Coding Style,如果我的字典只有一个元素,是否有更好的方法获取字典中的单个值 我目前正在做如果len(a)==1:print a.values()[0],这是python式的方法吗?作为一种风格,您应该将所有词典和列表视为具有多个条目 di={1:'one'} for e in sorted(di): print di[e] 如果您知道您正在处理的数据结构将(或应该)只有一个元素,或者元素的位置是最关键的,请使用不同的结构。在Python中,使用元组 没有比这更好的方法了,如果您有这样一个dict,它

如果我的字典只有一个元素,是否有更好的方法获取字典中的单个值


我目前正在做
如果len(a)==1:print a.values()[0]
,这是python式的方法吗?

作为一种风格,您应该将所有词典和列表视为具有多个条目

di={1:'one'}
for e in sorted(di):
    print di[e]

如果您知道您正在处理的数据结构将(或应该)只有一个元素,或者元素的位置是最关键的,请使用不同的结构。在Python中,使用元组

没有比这更好的方法了,如果您有这样一个dict,它应该可以正常工作:

nice_dict = {'name': 'rodrigo'}
def get_single_element_dict_value(single_ement_dict):
    return list(single_element_dict.values())[0]
一个只有一个键的dict,想要得到值,可以这样做:

nice_dict = {'name': 'rodrigo'}
def get_single_element_dict_value(single_ement_dict):
    return list(single_element_dict.values())[0]

我认为这是一个很好的方法。

我怀疑您首先需要这个方法。您的用例是什么?python的方法是不这样做,因为这不是您使用dictionary@NiklasB. 情况是,我在一个excel工作表上迭代,并使用
字典和[matchedcellcontent]=列
向字典添加匹配项。我使用这些键创建按钮,供用户选择要使用的匹配项(列)。因此,如果只有一个匹配项,用户就更容易使用它,而无需选择。唯一想到的是
print(next(iter(a))
,不确定是否更好。将来,你应该在问题中加入“大局图”,因为它将有助于引导答案。另外,如果您最后检查时只剩下一个值,而之前检查是否还有两个答案,那么代码的其余部分也将被删除。。将更改整个代码。请添加更多信息。OP已确认元组是解决其问题的正确数据元组+1我不知道其中只有一个元素。可能有0(在我看来是错误的),1(没有按钮生成),>=2(创建>=2个选项)。所以元组列表在这种情况下是可以的。当您在dict python中使用“.values()”时,返回一个dict_values对象,而dict_values对象是不可下标的。