如何在Python中的for循环中从列表中获取特定值?

4
如果我有一个列表:
myList = ['car a', 5000, 'great value', 'car b', 8000, 'good value']

如何在 for 循环中执行以下操作:(print(myList[0]) print(myList[3]))

将 3 添加到列表末尾。

我尝试过:

for carName in myList:
    carName = myList[0 + 3]> # I am stuck here
    print carName

感谢您的帮助!

3
打印出 myList 列表中每隔三个元素取一个的结果。 - cs95
4个回答

1
你可以使用[start:end:step]的方式来切片列表,只需提供step参数即可:
myList = ['car a', 5000, 'great value', 'car b', 8000, 'good value']

for item in myList[::3]:
    print(item)

# car a
# car b

为了避免为此目的构建列表的费用,您可以使用 itertools.islice:
from itertools import islice

for item in islice(myList, 0, None, 3):
    print(item)

0
这是如何使用 for 循环来实现的:
myList = ['car a', 5000, 'great value', 'car b', 8000, 'good value']

for carName in range(0, len(myList), 3):
    print(myList[carName])

0

我认为你要找的是模运算 % 3 == 0

myList = ['car a', 5000, 'great value', 'car b', 8000, 'good value']

这将打印第一个元素和任何三的倍数,无论列表有多大。

for i, x in enumerate(myList):
    if i % 3 == 0:
        print(myList[i])

0

将步长设置为-3

For循环的语法 -

for i in range (start,stop,step):

打印偶数的代码示例

for i in range(0,11,2):
    print(i)

输出-2、4、6、8、10


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接