For循环将_BaseValue()添加到其中一个范围值

时间:2014-05-21 06:05:57

标签: python google-app-engine

我有两个unicode电子邮件地址的列表。奇怪的是,当通过for循环检索时,两个值中的一个由_BaseValue包装。见下文。

for proj_ in mail_list:
    for who_ in proj_.who:  # where proj_.who = [u'first.last@us.email.com', u'first.last@gmail.com]
        print who_

返回

first.last@us.email.com
**_BaseValue**('first.last@gmail.com')

如果我评估who.b_val,则第二个元素等于first.last@gmail.com,这是一个非unicode字符串。

你能告诉我为什么会这样,以及如何避免被_BaseValue()包裹?

1 个答案:

答案 0 :(得分:0)

我最终使用了枚举并使用索引拉取列表元素。对于返回的任何元素,这都没有返回_BaseValue包装器字符串。

为什么who_拥有_BaseValue仍然是一个谜。

for proj_ in mail_list:
    for n, who_ in enumerate(proj_.who):  # where proj_.who = [u'first.last@us.email.com', u'first.last@gmail.com]
        print proj_.who[n]