我如何访问指数,同时在一个序列上以一个为旋转的序列?
xs = [8, 23, 45]
for x in xs:
print("item #{} = {}".format(index, x))
所需的产量:
item #1 = 8
item #2 = 23
item #3 = 45
我如何访问指数,同时在一个序列上以一个为旋转的序列?
xs = [8, 23, 45]
for x in xs:
print("item #{} = {}".format(index, x))
所需的产量:
item #1 = 8
item #2 = 23
item #3 = 45
当前回答
这就足以实现目的:
list1 = [10, 'sumit', 43.21, 'kumar', '43', 'test', 3]
for x in list1:
print('index:', list1.index(x), 'value:', x)
其他回答
它可以通过以下代码实现:
xs = [8, 23, 45]
for x, n in zip(xs, range(1, len(xs)+1)):
print("item #{} = {}".format(n, x))
在这里,范围(1, len(xs)+1);如果您预计输出将从1开始,而不是0,您需要从1开始,并将1添加到估计的总长度,因为Python开始默认地从0索引数字。
Final Output:
item #1 = 8
item #2 = 23
item #3 = 45
在你的问题上,你写着“我如何访问路径指数,从1到5在这种情况下?”
但是,一个列表的指数从零开始,所以我们需要知道你真正想要的是列表中的每个项目的指数和项目,或者你真的想要从1开始的数字。
首先,为了澄清,列出的函数以序列返回指数和列表中的每个项目的相应项目。
alist = [1, 2, 3, 4, 5]
for n, a in enumerate(alist):
print("%d %d" % (n, a))
此时此刻,上面的结果是:
0 1
1 2
2 3
3 4
4 5
请注意,指数从 0 运行,这种类型的指数是现代编程语言中常见的,包括 Python 和 C。
如果您希望您的路径扩展列表的一部分,您可以使用标准Python合成列表的一部分。 例如,从列表中的第二个项目转向,但不包括最后一个项目,您可以使用
for n, a in enumerate(alist[1:-1]):
print("%d %d" % (n, a))
请注意,再次,输出指数从0运行。
0 2
1 3
2 4
for n, a in enumerate(alist, start=1):
print("%d %d" % (n, a))
其产量为何
1 1
2 2
3 3
4 4
5 5
根据此讨论:对象列表指数
Loop 对抗 iteration
在指标上旋转的当前字符串使用内置范围功能:
for i in range(len(sequence)):
# Work with index i
超越两个元素和指标可以通过旧的字符或使用新的内置Zip功能实现:
for i in range(len(sequence)):
e = sequence[i]
# Work with index i and element e
或
for i, e in zip(range(len(sequence)), sequence):
# Work with index i and element e
通过PEP 212 - Loop Counter Iteration。
这就足以实现目的:
list1 = [10, 'sumit', 43.21, 'kumar', '43', 'test', 3]
for x in list1:
print('index:', list1.index(x), 'value:', x)
您可以使用指数方法:
ints = [8, 23, 45, 12, 78]
inds = [ints.index(i) for i in ints]
在评论中强调,如果在英寸中有重复,这种方法不会工作,下面的方法应该为英寸中的任何值工作:
ints = [8, 8, 8, 23, 45, 12, 78]
inds = [tup[0] for tup in enumerate(ints)]
或替代
ints = [8, 8, 8, 23, 45, 12, 78]
inds = [tup for tup in enumerate(ints)]
如果你想得到指数和值在英寸作为列表的<unk>。
它使用列表方法在这个问题的选择答案,但与列表理解,使它更快的代码较少。