我正在编写一个缩放脚本,在其中需要使用for循环遍历不连续列表。
我的要求是我有两套vlan:
我已经完成了对每个线性使用两个for循环的操作,但是只是想知道是否有一种有效的方法?
for i in range(l2_vlan_start,l2_vlan_start+no_of_l2_vlans):
<some set of operations>
for i in range(l3_vlan_start,l3_vlan_start+no_of_l3_vlans):
<same set of operations>
由于操作相同,我可以将这两个for循环合并为一个循环吗?
请告知。
虽然我更喜欢@ 0x5453的回答,但这里有些东西更加具体化了您的问题并显示了香肠的制作方法:
def mychain(spans):
for start, no in spans:
for i in range( start, start+no ):
yield i
for x in mychain(((l2_vlan_start,no_of_l2_vlans),(l3_vlan_start,no_of_l3_vlans))):
print(x)