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}
还是想要词典的名称?你的代码也有很多错误!我想他在说话