【发布时间】:2023-02-26 00:48:36
【问题描述】:
我想打印所有的元素范围从 2 到 8 然后使用为了环形:
例如:
for i in range(2,8):
print(i)
不使用 a 进行迭代的最佳方法是什么为了, 或者尽管循环,这减少了时间复杂度?
【问题讨论】:
标签: python
我想打印所有的元素范围从 2 到 8 然后使用为了环形:
例如:
for i in range(2,8):
print(i)
不使用 a 进行迭代的最佳方法是什么为了, 或者尽管循环,这减少了时间复杂度?
【问题讨论】:
标签: python
使用递归怎么样?
def iterate(lst, start, end):
if start < 0 or end >= len(lst) or start > end:
return
print(lst[start])
iterate(lst, start + 1, end)
像这样称呼它:
iterate([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2, 8)
【讨论】:
让我们看看这个示例列表:
>>> mylist
['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
现在,让我们不循环地打印元素 2 到 8:
>>> ' '.join(mylist[2:9])
'two three four five six seven eight'
在这里,2:9 告诉 python 使用以 2 开头并继续到 but 的索引不是包括9。
【讨论】:
x = range(20); sum(x[2:10])
通过切片列表
>>> l = [1,2,3,4,5,6,7,8,9,10]
>>> print(l[1:8])
[2, 3, 4, 5, 6, 7, 8] # output in console
要获取 l[1:8] 中值的总和,请使用 sum
>>> sum(l[1:8])
35 # output
由于@pzp而编辑:
如果要打印索引 2 和索引 8 之间的所有元素(包括索引 2 和索引 8),只需将上面代码中的 print(l[1:8]) 替换为 print(l[2:9]) 即可。
【讨论】:
l 中列出 2 到 8。我知道在 Python 中索引从 0 开始。
n 元素列表求和。
使用列表理解的简单解决方案
list1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
sum1 = sum([i for i in list1 if i > 2 and i < 9])
【讨论】: