why in返回数组的值和字典的键

你好,
拥有"在"返回值(或键)上是否更好
阵列和词典.阵列和词典看起来很相似
Python直到我学会了这种差异.
谢谢,
++ imanshu

# 回答1


8月26日,10:49*am," ++ imanshu" 通过"数组",您是指列表吗?元组?
我不确定您如何找到类似的列表和词典...
[1,2,3]
{'a':1,'c':3,'b':2}
一个是一个序列,具有方便的功能,可以像对待
堆栈或队列.
另一个是键和对之间的映射.
在这两种情况下," in"返回一个布尔值,表明存在
列表中的项目或dict中的键.我不确定你为什么需要它
要返回您要检查的物品是否存在,
要在检查之前拥有该项目.
我错过了您在这里要求的吗?你能提供一个
伪代码示例以演示您的意思?
# 回答2


8月26日,12:57*pm,Alex23 我很抱歉,实际上是 - 是Python中的阵列类型.
老实说,我从来没有任何理由使用它:)
不过,我仍然不确定您想做什么.
# 回答3


8月25日,9:57*PM,Alex23 通过"数组",您是指列表吗?元组?
我不确定您如何找到类似的列表和词典...
[1,2,3]
{'a':1,'c':3,'b':2}
一个是一个序列,具有方便的功能,可以像对待
堆栈或队列.
另一个是键和对之间的映射.
您可以说列表也是钥匙和对之间的映射,
限制键必须是从0到的整数
Len(x)-1.也就是说,['a','b','c']就像{0:'a',1:'b',2:'c'},
至少就[]运算符和LEN函数而言.
# 回答4


Alex23在2008年8月25日星期一,19:57:06 -0700写道:
[]
在这两种情况下," in"返回一个布尔值,表明存在
列表中的项目或dict中的键.我不确定你为什么需要它
要返回您要检查的物品是否存在,
要在检查之前拥有该项目.
我错过了您在这里要求的吗?你能提供一个
伪代码示例以演示您的意思?
OP不是在谈论``运算符'',而是``在''中的一部分
``````''.因此,这实际上是为什么``列表(a_dict)``''的问题了.
不返回值列表,而是键列表.
再见,
marc'blackjack'rintsch
# 回答5


Marc'Blackjack'Rintsch写道:
[�]在这两种情况下,'''返回了一个布尔值,表明列表中存在Anitem或dict中的钥匙.我不确定为什么您需要IT返回您要检查的物品是否存在,因为您要进行检查之前就拥有该物品.我错过了您在这里的要求吗?您能提供apseudocode示例来演示您的意思吗?

OP没有谈论`` perator,但``作为一部分
``````''.因此,这实际上是为什么``列表(a_dict)``''的问题了.
不返回值列表,而是键列表.
这基本上是相同的问题.在列表上迭代为您提供
它的元素,并使用``运算符与列表''的元素告诉您是否是否
或不是对象是列表的元素.迭代词典
给您它的_keys_,而不是它的值,而``
字典告诉您词典中是否_key_.
...
1
2
3
错误的
真的
...
一个
C
b
真的
错误的
人们发现处理钥匙而不是
迭代或遏制测试期间字典的值是...
因为那往往是您通常更感兴趣的,并且是
更高效.对于另一件事,如果您正在进行大量测试
值的遏制,那么您可能不会使用正确的数据
结构或数据结构的组合.那不是什么
字典是为了.
- -
Erik Max Francis && ma*@alcyone.com && http://www.alcyone.com/max/
美国加利福尼亚州圣何塞,美国&& 37 18 n 121 57 W && aim,y!m erikmaxfrancis
好吧,我被伪造 /哦,我如何妥协
-Lamya

# 回答6


++ Imanshu写道:
这是因为处理钥匙更有意义,因为这就是方式
字典数据结构有效.如果您做的事情很糟糕
- 无论是纳入还是迭代测试 - 那么您可能
使用错误的数据结构.
- -
Erik Max Francis && ma*@alcyone.com && http://www.alcyone.com/max/
美国加利福尼亚州圣何塞,美国&& 37 18 n 121 57 W && aim,y!m erikmaxfrancis
好吧,我被伪造 /哦,我如何妥协
-Lamya
# 回答7


8月26日,11:52*AM,Erik Max Francis 这是因为处理钥匙更有意义,因为这就是方式
字典数据结构有效. *如果您这样做很多
- 无论是纳入还是迭代测试 - 那么您可能
使用错误的数据结构.
感谢您的详细答复. Python似乎正在接受
务实的方法而不是纯粹的方法.是的,它使更多
感觉.
谢谢,
++ imanshu
# 回答8


" ++ imanshu:
D语言就像您说的那样,这很糟糕.有了钥匙,您可以找到
它的价值,但只有您找不到的值.
再见,
# 回答9


8月26日,4:04*pm," ++ imanshu" 感谢您的详细答复. Python似乎正在接受
务实的方法而不是纯粹的方法.是的,它使更多
感觉.
无论如何,处理字典时有两个明显的选择
循环:返回键并返回键和值. Python
设计师认为从钥匙中获得价值是微不足道的
返回密钥和值,当可能根本不使用该值时,
是多余的,可能会导致放缓.如果是
实际上需要实用性(通常是单线 ), 然后
提供了dict.iteritems(),在其他情况下您不需要
钥匙(通常,当您将统一功能应用于字典或
为了将其转换为列表),提供了dict.itervalues(),并为
完整性dict.iterkeys(),它在循环中完全没有用
提供(_ -Might_有用的唯一情况是
回调).
无论如何,简而言之(代码):
对于dict中的关键:
打印钥匙,dict [键]
与:
对于键,inter.iteritems()中的值:
打印钥匙,值
或者
对于dict中的关键:
值= dict [key]
打印钥匙,值
#如果您不修改不可变的,则不需要下一行
价值
dict [key] = value
# 回答10


谎言写道:
是否应该有默认迭代器以及如果是的问题,哪个问题
在PY-DEV上讨论了两个明显的选择中的两个明显选择
除了GVR之外,几个开发人员列出了列表. "是的,伊特基斯"是
多数选择是对大多数用户最有用的选择.
没有违约的理由是"明确的
隐性'和简单的预测(证明是正确的;-)这两种选择
会受到挑战.当然,不会批评违约
还.
tjr

标签: python

添加新评论