在for循环中传递多个参数的方法?
Posted
技术标签:
【中文标题】在for循环中传递多个参数的方法?【英文标题】:Way to pass multiple parameters in a for loop? 【发布时间】:2020-04-20 14:40:23 【问题描述】:我的代码:
seperated = startContent.split(' ')
seperatedNum = len(seperated)
#Ask for user input
for word in seperated and for i in seperatedNum:
if word == 'ADJECTIVE':
seperated[i] = input('Enter an adjective:')
elif word == 'NOUN':
seperated[i] = input('Enter a noun:')
elif word == 'ADVERB':
seperated[i] = input('Enter an adverb:')
elif word == 'VERB':
seperated[i] = input('Enter a verb:')
基本上每次遇到以下单词之一时都会询问用户输入(每个单词可以有多个)。
我得到了我的句子,用 split 命令把它分成一个列表。并为每个单词运行循环。然后我想使用list[x] = 'replacement'
方法编辑列表。
seperated
中的单词返回列表项。所以我需要传递给它的另一个参数,例如i in len(list)
,然后得到单词的准确索引。我不能使用list.index(str)
,因为当文本有多次迭代时,它会返回字符串的第一个索引。
【问题讨论】:
在这种情况下,您正在寻找enumerate
。
python新手,什么意思?
抱歉,应该提供更多信息。看这里:***.com/questions/22171558/what-does-enumerate-mean
太有帮助了!非常感谢,知道我想要什么是有道理的,但需要知道如何去做。非常感谢!
这能回答你的问题吗? Loop through list with both content and index
【参考方案1】:
您正在寻找一种在for
循环中传递多个参数的方法:在这方面,for
循环没有什么特别之处。循环将遍历给定的序列,并且每次迭代都将当前元素分配给给定的左侧。
for LEFT_HAND_SIDE in SEQUENCE
Python 还支持在分配期间“自动”解包序列,如下例所示:
>>> a, b = (4, 2)
>>> a
4
>>> b
2
总之,您可以在 for
循环的左侧将多个变量与一系列序列组合起来:
>>> for a, b in [(1, 2), (3, 4)]:
... print(a)
... print(b)
...
1
2
3
4
for
循环有两个分配 a, b = (1, 2)
和 a, b = (3, 4)
。
在您的特定情况下,您希望将序列中元素的值与其索引结合起来。内置函数enumerate
在这里派上用场:
>>> enumerate(["x", "y"])
<enumerate object at 0x7fc72f6685a0>
>>> list(enumerate(["x", "y"]))
[(0, 'x'), (1, 'y')]
所以你可以这样写你的for
循环:
for i, word in enumerate(seperated)
【讨论】:
以上是关于在for循环中传递多个参数的方法?的主要内容,如果未能解决你的问题,请参考以下文章