简体   繁体   English

达到数字时循环停止

[英]For loop stop when number is reached

car_names = driver.find_elements_by_xpath('//h2[@class="vehicle-item__title"]')
carnamelist = []
for cars in car_names:
    # print(len(cars))
    carnamelist.append(cars.text)
    # print((len(car_names)))

car_names are now 50, but I would like to stop when it reaches 17 car_names 现在是 50,但我想在它达到 17 时停止

How can I achieve that?我怎样才能做到这一点?

One approach would be to zip with a range of 17 ( zip stops automatically when either input is exhausted):一种方法是使用范围为 17 的zip (当任一输入用尽时zip会自动停止):

for cars, _ in zip(car_names, range(17)):
    carnamelist.append(cars.text)

Another would be to break in your loop:另一个是break你的循环:

for cars in car_names:
    carnamelist.append(cars.text)
    if len(carnamelist) >= 17:
        break

My approach would be to use zip and make it a list a comprehension:我的方法是使用zip并使其成为一个理解列表:

carnamelist = [cars.text for cars, _ in zip(car_names, range(17))]

If car_names is a list (or anything else that supports slicing) you can do this much more simply with a slice:如果car_names是一个列表(或任何其他支持切片的),您可以使用切片更简单地执行此操作:

carnamelist = [cars.text for cars in car_names[:17]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM