Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:从列表中检索字典名称_Python_List_Dictionary - Fatal编程技术网

Python:从列表中检索字典名称

Python:从列表中检索字典名称,python,list,dictionary,Python,List,Dictionary,我有一个字典列表,我想从循环中检索它们的名称,如: for d in list_dicts: print d.name list_dicts = [dic1, dic2] d.name = dic1 有可能吗?怎么可能?谢谢dic1或dic2是变量名。它们毫无意义。事实上,你可以做到: dic1 = {1:2, 3:4} dic2 = dic1 list_dicts = [dic1, dic2] 这里的列表包含对同一本词典的两个引用 如果您确实需要一个名称,您可以简单地将其添加到字

我有一个字典列表,我想从循环中检索它们的名称,如:

for d in list_dicts:
    print d.name

list_dicts = [dic1, dic2]
d.name = dic1

有可能吗?怎么可能?谢谢

dic1
dic2
是变量名。它们毫无意义。事实上,你可以做到:

dic1 = {1:2, 3:4}
dic2 = dic1
list_dicts = [dic1, dic2]
这里的列表包含对同一本词典的两个引用

如果您确实需要一个名称,您可以简单地将其添加到字典中(有点老套,但只要键是唯一的,就可以使用):

您可以将它们都包装在一个类中:

class NamedDct(object):
    def __init__(self, dct, name):
        self.dct = dct
        self.name = name
dic1 = NamedDct(dic1, 'dic1')
或者您可以从dict继承(请注意,这是一个退化的示例,不涉及细节):


dic1
dic2
是变量名。它们毫无意义。事实上,你可以做到:

dic1 = {1:2, 3:4}
dic2 = dic1
list_dicts = [dic1, dic2]
这里的列表包含对同一本词典的两个引用

如果您确实需要一个名称,您可以简单地将其添加到字典中(有点老套,但只要键是唯一的,就可以使用):

您可以将它们都包装在一个类中:

class NamedDct(object):
    def __init__(self, dct, name):
        self.dct = dct
        self.name = name
dic1 = NamedDct(dic1, 'dic1')
或者您可以从dict继承(请注意,这是一个退化的示例,不涉及细节):


dic1
dic2
是变量名。它们毫无意义。事实上,你可以做到:

dic1 = {1:2, 3:4}
dic2 = dic1
list_dicts = [dic1, dic2]
这里的列表包含对同一本词典的两个引用

如果您确实需要一个名称,您可以简单地将其添加到字典中(有点老套,但只要键是唯一的,就可以使用):

您可以将它们都包装在一个类中:

class NamedDct(object):
    def __init__(self, dct, name):
        self.dct = dct
        self.name = name
dic1 = NamedDct(dic1, 'dic1')
或者您可以从dict继承(请注意,这是一个退化的示例,不涉及细节):


dic1
dic2
是变量名。它们毫无意义。事实上,你可以做到:

dic1 = {1:2, 3:4}
dic2 = dic1
list_dicts = [dic1, dic2]
这里的列表包含对同一本词典的两个引用

如果您确实需要一个名称,您可以简单地将其添加到字典中(有点老套,但只要键是唯一的,就可以使用):

您可以将它们都包装在一个类中:

class NamedDct(object):
    def __init__(self, dct, name):
        self.dct = dct
        self.name = name
dic1 = NamedDct(dic1, 'dic1')
或者您可以从dict继承(请注意,这是一个退化的示例,不涉及细节):


假设您有这样一个字典列表:

dic1:{“名称”:“名称1”,…} dic2:{“名称”:“名称2”,…}

下面是一个列表: 列表内容=[dic1,dic2]

访问字典字段的方法是文字表示法(带括号)


假设您有这样一个字典列表:

dic1:{“名称”:“名称1”,…} dic2:{“名称”:“名称2”,…}

下面是一个列表: 列表内容=[dic1,dic2]

访问字典字段的方法是文字表示法(带括号)


假设您有这样一个字典列表:

dic1:{“名称”:“名称1”,…} dic2:{“名称”:“名称2”,…}

下面是一个列表: 列表内容=[dic1,dic2]

访问字典字段的方法是文字表示法(带括号)


假设您有这样一个字典列表:

dic1:{“名称”:“名称1”,…} dic2:{“名称”:“名称2”,…}

下面是一个列表: 列表内容=[dic1,dic2]

访问字典字段的方法是文字表示法(带括号)

你可能想用a来做类似的事情

命名元组允许构造轻量级名称/数据组合(以元组的Python子类的形式),非常适合此用例

假设我们想要一个附在名字上的dict

(使用
verbose=True
打印出整个类以供检查。在正常使用中,不包括…)

考虑

>>> nd=NamedDict('dict1', {1:'one', 2:'two'})
>>> nd
NamedDict(name='dict1', data={1: 'one', 2: 'two'})
>>> nd.name
'dict1'
>>> nd.data
{1: 'one', 2: 'two'}
因此,您可以将名称和dict与列表中的每一对关联起来:

LoT=[
   ('dict1', {1:'one', 2:'two'}),
   ('dict2', {3:'three', 4:'four'})
   ]

NamedDict = namedtuple('NamedDict', 'name data')

LoND=[NamedDict(*t) for t in LoT]

for d in LoND:
    print(d.name, d.data)
印刷品:

dict1 {1: 'one', 2: 'two'}
dict2 {3: 'three', 4: 'four'}
你可能想用a来做类似的事情

命名元组允许构造轻量级名称/数据组合(以元组的Python子类的形式),非常适合此用例

假设我们想要一个附在名字上的dict

(使用
verbose=True
打印出整个类以供检查。在正常使用中,不包括…)

考虑

>>> nd=NamedDict('dict1', {1:'one', 2:'two'})
>>> nd
NamedDict(name='dict1', data={1: 'one', 2: 'two'})
>>> nd.name
'dict1'
>>> nd.data
{1: 'one', 2: 'two'}
因此,您可以将名称和dict与列表中的每一对关联起来:

LoT=[
   ('dict1', {1:'one', 2:'two'}),
   ('dict2', {3:'three', 4:'four'})
   ]

NamedDict = namedtuple('NamedDict', 'name data')

LoND=[NamedDict(*t) for t in LoT]

for d in LoND:
    print(d.name, d.data)
印刷品:

dict1 {1: 'one', 2: 'two'}
dict2 {3: 'three', 4: 'four'}
你可能想用a来做类似的事情

命名元组允许构造轻量级名称/数据组合(以元组的Python子类的形式),非常适合此用例

假设我们想要一个附在名字上的dict

(使用
verbose=True
打印出整个类以供检查。在正常使用中,不包括…)

考虑

>>> nd=NamedDict('dict1', {1:'one', 2:'two'})
>>> nd
NamedDict(name='dict1', data={1: 'one', 2: 'two'})
>>> nd.name
'dict1'
>>> nd.data
{1: 'one', 2: 'two'}
因此,您可以将名称和dict与列表中的每一对关联起来:

LoT=[
   ('dict1', {1:'one', 2:'two'}),
   ('dict2', {3:'three', 4:'four'})
   ]

NamedDict = namedtuple('NamedDict', 'name data')

LoND=[NamedDict(*t) for t in LoT]

for d in LoND:
    print(d.name, d.data)
印刷品:

dict1 {1: 'one', 2: 'two'}
dict2 {3: 'three', 4: 'four'}
你可能想用a来做类似的事情

命名元组允许构造轻量级名称/数据组合(以元组的Python子类的形式),非常适合此用例

假设我们想要一个附在名字上的dict

(使用
verbose=True
打印出整个类以供检查。在正常使用中,不包括…)

考虑

>>> nd=NamedDict('dict1', {1:'one', 2:'two'})
>>> nd
NamedDict(name='dict1', data={1: 'one', 2: 'two'})
>>> nd.name
'dict1'
>>> nd.data
{1: 'one', 2: 'two'}
因此,您可以将名称和dict与列表中的每一对关联起来:

LoT=[
   ('dict1', {1:'one', 2:'two'}),
   ('dict2', {3:'three', 4:'four'})
   ]

NamedDict = namedtuple('NamedDict', 'name data')

LoND=[NamedDict(*t) for t in LoT]

for d in LoND:
    print(d.name, d.data)
印刷品:

dict1 {1: 'one', 2: 'two'}
dict2 {3: 'three', 4: 'four'}

你说的名字是什么意思?您是指key或value ex:
{key:value}
还是想要词典的名称?你的代码也有很多错误!我想他说的是字典中的变量名,
dic1
dic2
,但这些只是参考,所以,不,你不能得到它们的“名字”你说的名字是什么意思?您是指key或value ex:
{key:value}
还是想要词典的名称?你的代码也有很多错误!我想他说的是字典中的变量名,
dic1
dic2
,但这些只是参考,所以,不,你不能得到它们的“名字”你说的名字是什么意思?您是指key或value ex:
{key:value}
还是想要词典的名称?你的代码也有很多错误!我想他在说话