Python中文
首页
教程
问答
标签
搜索
登录
注册
通用可遍历的迭代器(而不是针对任何可迭代对象的键)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>有没有一种通用的方法可以得到一个迭代器,它总是迭代字典或其他iterable(列表,集合…)的值(最好,虽然它也可以迭代键)?在</p> <p>让我详细说明一下:当您执行“<code>iter(list)</code>”时,您会得到一个值的迭代器(而不是索引,这听起来非常类似于字典中的“key”),但是当您执行“<code>iter(dict)</code>”时,您得到了键。在</p> <p>是否有指令、属性。。。无论什么。。。它总是迭代iterable的值(或键),不管它是什么类型的iterable?在</p> <p>我有一个带有“<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>”方法的代码,它需要接受几种不同类型的iterable类型,而我唯一能想到的解决方案是这样的:</p> <pre><code>#!/usr/bin/python2.4 class Sample(object): def __init__(self): self._myListOfStuff = list() def addThings(self, thingsToAdd): myIterator = None if (isinstance(thingsToAdd, list) or isinstance(thingsToAdd, set) or isinstance(thingsToAdd, tuple)): myIterator = iter(thingsToAdd) elif isinstance(thingsToAdd, dict): myIterator = thingsToAdd.itervalues() if myIterator: for element in myIterator: self._myListOfStuff.append(element) if __name__ == '__main__': sample = Sample() myList = list([1,2]) mySet = set([3,4]) myTuple = tuple([5,6]) myDict = dict( a= 7, b= 8 ) sample.addThings(myList) sample.addThings(mySet) sample.addThings(myTuple) sample.addThings(myDict) print sample._myListOfStuff #Outputs [1, 2, 3, 4, 5, 6, 7, 8] </code></pre> <p>我不知道。。。看起来有点。。。我觉得笨手笨脚的</p> <p>如果能为这种情况提供一个通用的迭代器,那就太好了,这样我就可以写一些类似。。。在</p> ^{pr2}$ <p>。。。如果迭代器总是给出值,或者。。。在</p> <pre><code>def addThings(self, thingsToAdd): for element in iter(thingsToAdd): self._myListOfStuff.append(thingsToAdd[element]) </code></pre> <p>。。。为什么我更喜欢迭代键集合中的键(如果我知道它是一个特殊的,而不是返回的键)。。。也许它可以返回存储值的哈希值)。在</p> <p>Python中有这样的东西吗?(顺便说一下,我必须用Python2.4)</p> <p>提前谢谢大家</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我不知道有什么东西能做到这一点。我想你可以做些类似的事情:</p> ^{1}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
10 回答
如何添加表示整数的擦边字符串?
2 回答
如何添加要在Bokeh中使用的新font.ttf文件?
2 回答
如何添加要显示的矩阵XY轴编号和XY轴
5 回答
如何添加计数?
5 回答
如何添加计数器函数?
5 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
10 回答
如何添加计数器来跟踪while循环中的月份和年份?
3 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
9 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
7 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
3 回答
如何添加评论拉梅尔亚姆
3 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
8 回答
如何添加谷歌地点自动完成到Flask?
3 回答
如何添加超时、python discord bot
9 回答
如何添加超过1dp的检查
4 回答
如何添加距离方法
10 回答
如何添加跟随游戏的敌人精灵
2 回答
如何添加路径以便python可以找到程序?
10 回答
如何添加身份验证/安全性以使用happybase访问HBase?
5 回答