抱歉问了这个非常基本的问题,但这实际上是一个由两部分组成的问题:
-
给定一个列表,我需要替换“?”的值带有“i”和带有整数 10 的“x”。列表并不总是具有相同数量的元素,因此我需要一个允许我执行此操作的循环。
a = ['1', '7', '?', '8', '5', 'x']
如何获取值等于“?”的索引。如果这能告诉我如何获取列表中的所有索引和值,那就太好了。
为其编写一个函数并使用map()
在每个元素上调用它:
def _replaceitem(x):
if x == '?':
return 'i'
elif x == 'x':
return 10
else:
return x
a = map(_replaceitem, a)
请注意,这会创建一个新列表。如果列表太大或者您由于其他原因不需要这个,您可以使用for i in xrange(len(a)):
然后更新a[i]
如果需要的话。
To get (index, value)
列表中的对,使用enumerate(a) http://docs.python.org/library/functions.html#enumerate它返回一个产生此类对的迭代器。
要获取列表中包含给定值的第一个索引,请使用a.index('?') http://docs.python.org/library/stdtypes.html#mutable-sequence-types.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)