【问题标题】:Can someone explain this simple syntax to me有人可以向我解释这个简单的语法吗
【发布时间】:2015-11-13 11:12:20
【问题描述】:

有人可以快速解释一下这段代码的作用吗:

  for j in range(len(word)):
        if word[j] in key:
            newString = newString+key[word[j]]

显然上面的代码没有意义,但我真的只是想知道将 j 放在 word 旁边的括号里有什么作用?我熟悉 for 循环,例如 for i in word 和 if word in key 但是 if word(j) in key 是什么意思

【问题讨论】:

  • word 是一个类似stringlist 等的序列。word[j] 正在获取位置j 的特定元素。
  • 拜托,不要 caMelCaSe,拜托!它是 Python,这里的局部变量可能是 rvfiltered,或者在最坏的情况下,new_string 参考:python.org/dev/peps/pep-0008

标签: python loops iterator


【解决方案1】:

以更简单的形式重写:

for chr in word:
    if chr in key:
        newString = newString + key[chr]

我认为它会帮助你很好地理解东西。

【讨论】:

    【解决方案2】:

    单词旁边的[j] 指向word 中第“j”个位置的元素(这可能是可迭代的)。所以如果word"hello" 并且j 是1,那么word[j] 就是"e"(因为编号从0 开始)。

    【讨论】:

    • 好的,谢谢。所以如果我有 word = ("hello) int= len(word) for i in range(int): print i[2] 不应该为我打印 1?我收到一个关于 int object has no attribute get_item 的错误跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    相关资源
    最近更新 更多