python 列表中的索引问题

发布于 2024-12-26 16:14:50 字数 161 浏览 0 评论 0原文

for i in list:
    j = i + 1
    print i - j

这将打印出 list 长度的 -1 倍

我想要做的是打印值 i 和列表中下一个值之间的差异。

我说清楚了吗?

for i in list:
    j = i + 1
    print i - j

This will print out -1 times the length of list

What I wanted to do is to print the difference between value i and the next in the list.

Am I clear?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

云淡月浅 2025-01-02 16:14:50
for i in list:

i 绑定到 list 的元素,而不是它的索引。您可能意味着

for i in xrange(len(list)):

或者

for i, _ in enumerate(list):

然后使用 list[i] 获取索引 i 处的元素。

(请不要将列表称为 list;这是 Python 内置函数的名称。)

for i in list:

binds i to the elements of list, not its indexes. You might have meant

for i in xrange(len(list)):

or

for i, _ in enumerate(list):

Then get the element at index i with list[i].

(And please don't call a list list; that's the name of a Python built-in function.)

余厌 2025-01-02 16:14:50

与 JavaScript 不同,Python 中的序列迭代会产生元素,而不是索引。

for i, j in zip(L, L[1:]):
  print j - i

Unlike JavaScript, iterating over a sequence in Python yields elements, not indexes.

for i, j in zip(L, L[1:]):
  print j - i
不离久伴 2025-01-02 16:14:50

试试这个:

lst = [1, 2, 3, 4]

for i in xrange(1, len(lst)):
    print lst[i-1] - lst[i]

请注意,在 for i in list 行中,ilist 的一个元素,而不是指数。在上面的代码中,i确实是一个索引。另外,调用变量 list 也是一个坏主意(Python 使用该名称进行其他操作)。我将其重命名为lst

Try this:

lst = [1, 2, 3, 4]

for i in xrange(1, len(lst)):
    print lst[i-1] - lst[i]

Notice that in the line for i in list, i is an element of list, not an index. In the above code, i is indeed an index. Also, it's a bad idea calling a variable list (Python uses that name for something else). I renamed it to lst.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文