我真的很感激如果有人能帮助我理解它,谢谢p.s.林新代码我需要帮助理解一个片段
sentence = "I like my dog I buy my dog toys"
s = sentence.split()
positions = [s.index(x)+1 for x in s]
print(sentence)
print(positions)
我真的很感激如果有人能帮我理解它,谢谢p.s.林新代码
我真的很感激如果有人能帮助我理解它,谢谢p.s.林新代码我需要帮助理解一个片段
sentence = "I like my dog I buy my dog toys"
s = sentence.split()
positions = [s.index(x)+1 for x in s]
print(sentence)
print(positions)
我真的很感激如果有人能帮我理解它,谢谢p.s.林新代码
吉恩是正确的。你有没有做过任何在线python教程? 在这里。 第一行将字符串“我喜欢我的狗买我的狗玩具”分配给一个名为变量的句子。
下一行
s = sentence.split()
断裂了绳子成子阵列,并分配该数组变量s
>>> print(s)
['I', 'like', 'my', 'dog', 'I', 'buy', 'my', 'dog', 'toys']
下一行
positions = [s.index(x)+1 for x in s]
查找该每个数组值的每一个出现并将其位置记录到阵列位置
>>> print(positions)
[1, 2, 3, 4, 1, 6, 3, 4, 9]
编辑
允许我阐述一些关键点。首先是分割功能。许多语言都有分割功能。它们都带有一个分隔符,即字符串将被分割的字符。在Python中,split()函数可以不带分隔符来调用。在这种情况下,函数将使用单个空格字符(“”)。因此,当我们调用sentence.split()时,它使用句子变量的值并使用单个空格将其分开,并返回各种子字符串或片段的数组。在这种情况下,单个词。
接下来,让我们来看看行
positions = [s.index(x)+1 for x in s]
让我们考虑了一会儿
for x in s
i = s.index(x)
这是一个基本的循环,需要在数组S并将其放置在变量x的每个项目下面。通过这个循环的第一次通过需要“我”并将其分配给x。然后我们在s的数组中查找“I”的位置。由于s按顺序包含了句子od,所以第一个位置数组项0包含值“I”。因此,变量i的值变为0.循环继续匹配数组s中的每个项目,并在数组内找到值的相应位置。
更进一步,我们实例化另一个数组,在这种情况下位置。当循环遍历数组找到每个值的相应索引时,这些位置将被放置在新的数组位置中。
现在大多数人不一定会想到以零为基础的名单。因此,我们采取额外步骤,并在发现每个位置时加1。所以位置0变成位置1,以此类推。
那么我用以上演示的for循环和这个问题的例子中使用的单行代码有什么不同?真的没什么。此行
positions = [s.index(x)+1 for x in s]
只是for循环的简化形式。在Python中,这被称为列表理解。
在这一点上,这个答案正变得更多的是一个关于Python的小型教学。我真的需要建议你找出一些关于Python的教程,从Pythons documentation site开始。另一个可能在TutorialPoint或Learn Python。 Pluralsite和Cousera也有很多资源。
祝你好运
阅读有关列表解析和字符串操作。 –
这只是列表中每个单词的第一次出现的位置('s.index(x)+ 1') – AChampion