初学Python的问题

刚开始接触蟒蛇,试图巢其他数据结构,列表,集合,等里面的字典当我巢字典(比如,如果我创建类型的字典列表),我似乎无法引用里面的键或值各个类型的字典了。 这是一个设计功能还是我完全剔骨呢?

--------------解决方案-------------

您完全可以使用Python做到这一点。 您可以使用[]运营商不止一次-如果a是一个列表,那么a[0]是它的第一个元素。 如果第一个元素恰好是一个字典,那么你就可以看到其按键与a[0].keys()你可以得到的值,它像这样的: a[0]["here's a key"]

而且就像你会遍历这样一个字典的键:

for key in my_dict:
# get the value
val = my_dict[key]
# do something with it

您可以使用列表中的一个元素,如果它正好是一个字典:

for key in a[0]:
# get the value
val = a[0][key]
# do something with it

你可以列出清单,类型的字典,甚至http://stardict.sourceforge.net/Dictionaries.php下载其中的值列表(或更多类型的字典)的名单,很容易地。 并引用到他们,你可以遍历他们的价值观,或链条[]作为所需的操作。

关于你不能做的唯一的事情就是用列表或类型的字典作为键到另一个字典。 其中一个规则是,字典键必须是不可改变的。 数字是OK,字符串都行,元组是确定的,但名单和类型的字典都没有。

下面是互动的代码示例,向您展示如何建立http://stardict.sourceforge.net/Dictionaries.php下载列表,然后提取它们的值:

# Here's a dictionary
a = { 'key1': 'value1', 'key2': 2 }

# Check it out
>>> type(a)
<type 'dict'>

# Print it:
>>> a
{'key1': 'value1', 'key2': 2}

# Look inside
>>> a['key1']
'value1'

# Here's another one
b = { 'abc': 123, 'def': 456 }

# Now let's make a list of them
c = [a, b]

# Check that out, too
>>> type(c)
<type 'list'>

# Print it:
>>> c
[{'key1': 'value1', 'key2': 2}, {'def': 456, 'abc': 123}]

>>> c[0]
{'key1': 'value1', 'key2': 2}

# Dig deeper
>>> c[0]['key1']
'value1'

当你嵌套类型的字典(或嵌套为此事任何东西),您必须提供所需的字典中的列表之外的索引,然后将所需的项目的索引。 所以,如果你有一个清单一对夫妇类型的字典:

list_of_dicts = [{'a':1,'b':2,'c':3},{'d':4,'e':5,'f':6}]

访问第二个字典的元素'E',应输入: list_of_dicts[1]['e']

触及的几件事情:

  1. 添加字典到列表中。

    mylist = []

    mylist.append({'key1': 'val1'})

  2. 添加列表的一组。

    myset = set()

    myset.add({'key1': 'val1'}) # Error - dicts are mutable, therefore not hashable.

  3. 跟踪不同的字典。

    mydicts = set([id(d) for d in mylist])
  4. 检索元素。

    # With Lists

    mylist[0]['key1']

    # With Sets

    mydicts[0] # Error - sets do not support indexing.

x = [{"a":1},{"b":2}]
>>> x[1]["b"]
2

分类:蟒蛇 时间:2015-03-15 人气:0
本文关键词: 蟒蛇,列表,字典
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.394 (s). 10 q(s)