在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循环中传递多个参数的方法?的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序for循环中传递动态参数

ftp echo批处理命令,想要用for循环传递多个文件

从for循环中的列表中解压缩多个参数

如何在一个循环执行ajax方法里面嵌套的ajax方法

处理在多个 for 循环中声明的变量的最惯用方法是啥? [关闭]

如何使用多个 for 循环在 php 中创建 sql 语句