在我使用Python之前,如何访问索引?
在理解如何在Python循环中访问索引方面有些困难。您将如何用Python编写此代码在我使用Python之前,如何访问索引?,python,Python,在理解如何在Python循环中访问索引方面有些困难。您将如何用Python编写此代码 int x = 5; for (int i = 0; i < s.length; i++) { if (s[i] + s[i - 1] == x) { System.out.println("Success"); } } 如果以前有人问过这个问题,我很抱歉,但我真的找不到一个解决方案来解决Python循环中处理索引的确切方法。非常感谢你的帮助 for i, c in en
int x = 5;
for (int i = 0; i < s.length; i++) {
if (s[i] + s[i - 1] == x) {
System.out.println("Success");
}
}
如果以前有人问过这个问题,我很抱歉,但我真的找不到一个解决方案来解决Python循环中处理索引的确切方法。非常感谢你的帮助
for i, c in enumerate(s):
if c + s[i - 1] == x:
c
这里将是列表中的一个元素,引用s[i]
,i将是索引变量。要访问位于i-1
的元素,需要使用s[i-1]
。但是当i
为0时,您将把s[0]
与s[-1]
(s
的最后一个元素)进行比较,这可能不是您想要的,您应该注意这一点
c
这里将是列表中的一个元素,引用s[i]
,i将是索引变量。要访问位于i-1
的元素,需要使用s[i-1]
。但是当i
为0时,您将把s[0]
与s[-1]
(s
的最后一个元素)进行比较,这可能不是您想要的,您应该注意这一点,假设是一个带有数字的序列,并考虑第一部分中的第一个Java风格代码
s = [0,1,2,3,4,5,..]
x = 5
for i in range(1, len(s)):
if s[i] +s[i-1] == x:
print("Success")
考虑到
s
是一个序列,假设is是一个带有数字的序列,并考虑第一部分中的第一个Java风格代码
s = [0,1,2,3,4,5,..]
x = 5
for i in range(1, len(s)):
if s[i] +s[i-1] == x:
print("Success")
枚举()方法将lop目标拆分为包含索引和目标元素的元组。
与c风格的语言不同,当在python中使用for循环而不使用枚举时,i表示元素。这意味着您在调用时不必在列表中插入索引。
python中的代码如下所示。
s=[1,2,3,4,5,6,7,8,9]#名为s的列表。
x=5
对于s中的i:
如果i+i-1==x:
打印(“成功”)
因为我们只处理整数,你也可以这样做
x=5
对于范围(10)内的i:
如果i+i-1==x:
print(“success”)
enumerate()方法将lop目标拆分为包含索引和目标元素的元组。
与c风格的语言不同,当在python中使用for循环而不使用枚举时,i表示元素。这意味着您在调用时不必在列表中插入索引。
python中的代码如下所示。
s=[1,2,3,4,5,6,7,8,9]#名为s的列表。
x=5
对于s中的i:
如果i+i-1==x:
打印(“成功”)
因为我们只处理整数,你也可以这样做
x=5
对于范围(10)内的i:
如果i+i-1==x:
打印(“成功”)
x=5表示范围内的i(len(s)):如果s[i]+s[i-1]==x:print('success')您的问题中的s
是什么?将s
的第一个和最后一个元素对一起测试是一个bug还是一个功能?您会得到什么错误?你期望得到什么呢?s是一个列表,或者Java codex=5中的一个数组,表示范围内的i(len(s)):如果s[i]+s[i-1]==x:print('Success'),你的问题中的s
是什么?是一个bug还是一个特性,s
的第一个和最后一个元素对一起测试?你得到了什么错误?你期望得到什么呢?s是一个列表,或者Java代码中的一个数组。我想访问第i个索引中的数字,而不是第i个索引本身。在你的例子中,我们不是要加1+0,然后再加2+1,以此类推吗?我想访问第I个索引中的数字,而不是第I个索引本身。在你的例子中,我们不是要加1+0,然后再加2+1,以此类推吗?试试这个值:s=[0,0,5,5,6,5]
和x=5
,它应该打印一次,但会打印两次,这是因为s[i-1]
在第一次迭代中。我在回答中提到,这可能不是您在第一次迭代中想要做的,因为我将是0。问题中的Java代码是从0开始循环的,我不想偏离这一点。请尝试以下值:s=[0,0,5,5,6,5]
和x=5
,它应该打印一次,但会打印两次,这是因为s[I-1]
在第一次迭代中。我在回答中提到,这可能不是您在第一次迭代中想要做的,因为我将是0。问题中的Java代码是从0开始循环的,我不想偏离这一点。请注意,Java代码从0
开始,而不是1
,因此它会检查第一个和最后一个元素的总和是否为5
。请注意,Java代码从0
开始,而不是1
,因此,它检查第一个和最后一个元素的总和是否为5
。