Python论坛  - 讨论区

标题:[python-chinese] key in dictionary

2005年11月20日 星期日 18:59

Shi Mu samrobertsmith at gmail.com
Sun Nov 20 18:59:46 HKT 2005

在下面的代码里,如何一次把a中所有因素赋予b做key?
>>> a=[3,5,8,0]
>>> b={}
也就是,
b={3:[],5:[],8:[],0:[]}
谢谢!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月20日 星期日 19:18

batfree batfreelist at gmail.com
Sun Nov 20 19:18:40 HKT 2005

b={}
for i in a:
	b[i]=[]

Shi Mu wrote:
> 在下面的代码里,如何一次把a中所有因素赋予b做key?
>>>> a=[3,5,8,0]
>>>> b={}
> 也就是,
> b={3:[],5:[],8:[],0:[]}
> 谢谢!
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> PythonÖÐÎļ¼ÊõÌÖÂÛÓʼþÁбí
> ·¢ÑÔ: ·¢Óʼþµ½ python-chinese at lists.python.cn
> ¶©ÔÄ: ·¢ËÍ subscribe µ½ python-chinese-request at lists.python.cn
> Í˶©: ·¢ËÍ unsubscribe µ½  python-chinese-request at lists.python.cn
> Ïêϸ˵Ã÷: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月20日 星期日 19:30

Shi Mu samrobertsmith at gmail.com
Sun Nov 20 19:30:49 HKT 2005

On 11/20/05, batfree <batfreelist at gmail.com> wrote:
> b={}
> for i in a:
>        b[i]=[]
谢谢!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月20日 星期日 20:00

Shi Mu samrobertsmith at gmail.com
Sun Nov 20 20:00:30 HKT 2005

有什么代码计算TKINTER里两个多边形的重叠面积?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月20日 星期日 20:46

Fat fatbobman at gmail.com
Sun Nov 20 20:46:26 HKT 2005

在 05-11-20,Shi Mu<samrobertsmith at gmail.com> 写道:
> 在下面的代码里,如何一次把a中所有因素赋予b做key?
> >>> a=[3,5,8,0]
> >>> b={}
> 也就是,
> b={3:[],5:[],8:[],0:[]}
> 谢谢!
map(lambda x:b.setdefault(x,[]),a)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月20日 星期日 21:00

Shi Mu samrobertsmith at gmail.com
Sun Nov 20 21:00:26 HKT 2005

On 11/20/05, Fat <fatbobman at gmail.com> wrote:
> 在 05-11-20,Shi Mu<samrobertsmith at gmail.com> 写道:
> > 在下面的代码里,如何一次把a中所有因素赋予b做key?
> > >>> a=[3,5,8,0]
> > >>> b={}
> > 也就是,
> > b={3:[],5:[],8:[],0:[]}
> > 谢谢!
> map(lambda x:b.setdefault(x,[]),a)
能否稍微解释一下?
多谢了!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月20日 星期日 22:07

Qiangning Hong hongqn at gmail.com
Sun Nov 20 22:07:05 HKT 2005

Shi Mu wrote:
> On 11/20/05, Fat <fatbobman at gmail.com> wrote:
>>在 05-11-20,Shi Mu<samrobertsmith at gmail.com> 写道:
>>
>>>在下面的代码里,如何一次把a中所有因素赋予b做key?
>>>
>>> >>>a=[3,5,8,0]
>>> >>>b={}
>>>
>>>也就是,
>>>b={3:[],5:[],8:[],0:[]}
>>>谢谢!
>>
>>map(lambda x:b.setdefault(x,[]),a)
> 
> 能否稍微解释一下?
> 多谢了!

用list generator可能好理解一些,Fat的那个就相当于
[b.setdefault(x, []) for x in a]

对于你的问题,这里还有几种解法,你看看,开阔一下思路:)

1. b = dict((x, []) for x in a)
2. b = dict(zip(a, ([] for x in itertools.count())))
3. [b.__setitem__(x, []) for x in a]

-- 
Qiangning Hong, Registered Linux User #396996
My Blog: http://www.hn.org/hongqn
RSS: http://feeds.feedburner.com/hongqn


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号