在这种情况下
range(len())
有助于生成
i
对于
list2[i:i+10]
.
使用
for i range(0, len(list2), 10):
您可以分配给
我
价值观
0
,
10
等,这将创造
list2[0:10]
,
list2[10:20]
等等。
list1 = ['Most actives', 'Gainers']
data = '''AMD AdvancedMicroDevicesInc
BAC BankofAmericaCorp
GE GeneralElectricCo
F FordMotorCo
M MacysInc
PFE PfizerInc
FCX FreeportMcMoRanInc
BMY BristolMyersSquibbCo
T ATTInc
JWN NordstromInc
JWN NordstromInc
M MacysInc
LB LBrandsInc
GPS GapInc
SJM JMSmuckerCo
CPRI CapriHoldingsLtd
RL RalphLaurenCorp
BIIB BiogenInc
FCX FreeportMcMoRanInc
ADS AllianceDataSystemsCorp'''
list2 = data.split('\n')
for name, i in zip(list1, range(0, len(list2), 10)):
print('\n-', name, '\n')
for item in list2[i:i+10]:
print(item)
编辑:
我知道切片没有特殊功能
list2
但你可以创造自己的
(来源:
How do you split a list into evenly sized chunks?
)
def chunks(l, n):
for i in range(0, len(l), n):
yield l[i:i + n]
然后
for
-循环
zip()
会看起来更好
def chunks(l, n):
for i in range(0, len(l), n):
yield l[i:i + n]
list1 = ['Most actives', 'Gainers']
data = '''AMD AdvancedMicroDevicesInc
BAC BankofAmericaCorp
GE GeneralElectricCo
F FordMotorCo
M MacysInc
PFE PfizerInc
FCX FreeportMcMoRanInc
BMY BristolMyersSquibbCo
T ATTInc
JWN NordstromInc
JWN NordstromInc
M MacysInc
LB LBrandsInc
GPS GapInc
SJM JMSmuckerCo
CPRI CapriHoldingsLtd
RL RalphLaurenCorp
BIIB BiogenInc
FCX FreeportMcMoRanInc
ADS AllianceDataSystemsCorp'''
list2 = data.split('\n')
for name, items in zip(list1, chunks(list2, 10)):
print('\n-', name, '\n')
for item in items:
print(item)