python if语句关于字典值

Posted

技术标签:

【中文标题】python if语句关于字典值【英文标题】:python if statement on dictionary value 【发布时间】:2012-06-06 10:38:20 【问题描述】:

我已经创建了一个字典:

print dict

'a': [['1', ' 2', ' 3']], 'b': [['2', ' 3', ' 4'], ['3', ' 4', ' 2']], 'c': [['1', ' 6', ' 2']]

我不知道如何生成 if 语句 val[0]。

if val[0]dic
 print val[0]

感谢您的帮助

【问题讨论】:

请发布所需的输出 你的问题不清楚,请发布输出 嗨,对不起,这不清楚。我正在尝试在我的字典中的第一个值上写一个 if 语句。如果 2 存在,则打印 2。这有帮助吗? @Dustin 字典没有排序,所以没有第一项,考虑使用列表。您可以将输出添加到问题中吗? 建议您尝试创建一些dict 对象和print 它们。您会看到内容的输出顺序与您放入的顺序不同。 【参考方案1】:

您使用了错误的数据类型进行索引。如果您想要排序键,ActiveState 上的this post 显示了一种对无序字典键进行排序的方法。

Ordered dictionaries 的顺序是稳定的,但仍然不是可索引的对象。您需要重新审视您正在尝试做的事情,并更清楚地定义您的问题领域。

【讨论】:

【参考方案2】:

如果您尝试按索引访问元素,我认为您不需要字典类型。字典是基于哈希的查找容器,由键索引。在您的示例中:

>>> va['a']
[['1', ' 2', ' 3']]

您可以使用以下方法测试关键存在:

if 'a' in va:
    print('a is in va')

http://docs.python.org/library/stdtypes.html#dict

【讨论】:

但是,我在字典中的第一个值之后。这有意义吗? 请在发布之前在 REPL 中测试您的样本。您的 if 语句缺少必需的尾随冒号。 这是一次尝试:if 2 in dic.items(0) print 2 @Dustin:不,这没有意义。字典是无序的。 OrderedDict 救援:docs.python.org/library/collections.html#ordereddict-objects

以上是关于python if语句关于字典值的主要内容,如果未能解决你的问题,请参考以下文章

15 Python - 语句流程控制If

带有字典、列表和 If 语句的嵌套循环

关于变量以及if语句—Python

Python基础10 条件语句

python基础:python循环三元运算字典文件操作

2.关于python的if判断,循环总结。