我的字典里有一本字典,如下所示:
我的代码查找今天的日期,如果它存在于dict中,它应该打印“founda match at”+dict(name)
today = datetime.datetime.now()
if today in dict[name]:
print "Found a bday for " + str(dict[name])
#here i need a variable that will hold the email from that name so I can use to somewhere else
如果我不介意的话 看起来是这样的:
{'name1': set(['01-25', 'name1@company.com']), 'name2': set(['name2@company.com', '11-29']), 'name3': set(['08-15', 'name3@company.com']), 'name4': set(['01-24', 'name4@company.com'])}
我的问题是如何访问电子邮件。我很难理解,我的字典中的值目前是一个“集合”,我无法通过索引访问它。一旦我打印了dict[name][1]
,我就会得到错误类型error:
'set' object does not support indexing
你可以用这样的方法:
但是有更好的选择来存储这些信息。你知道吗
当您创建dict时,您使用的是一个set,在这里您应该使用列表或元组。你知道吗
集合是无序的数据结构,因此不能使用索引访问它们。 即使将它们类型转换为列表,然后使用索引,即
list(dict[name])[1]
,也不能保证返回正确的元素,因为列表的顺序没有定义。你知道吗挑选匹配元素的方法可以是迭代集合,并选择与
type
等条件匹配的元素和任何可能的regex,但这也容易出错,除非集合中几乎没有不同类型的元素。你知道吗相关问题 更多 >
编程相关推荐