从列表长度中获取范围的最具Python风格的方法?

从列表长度中获取范围的最具Python风格的方法?,python,tuples,Python,Tuples,我试图从一些元组中得到一些切片,如下所示: classes = ('1 hrs A', '2 hrs A', '3 hrs A', '3 hrs B', '3 hrs C', '3 hrs C', '3 hrs C') 我所做的是: for i

我试图从一些元组中得到一些切片,如下所示:

classes = ('1 hrs                   A', '2 hrs                   A', '3 hrs                   A', '3 hrs                   B', '3 hrs                   C', '3 hrs                   C', '3 hrs                   C')
我所做的是:

for i in range(len(classes)):
    print(classes[i][0])

这会产生只打印出整数部分的理想效果,但对于整个范围(len(classes))部分来说有点难看,我想知道是否有其他方法可以获得相同的结果?

最干净的方法可能是迭代
类本身,而且-由于您只对第一个元素感兴趣-请将其解压缩:

for item, *_ in classes:
    print(item)
但是,请注意,这仅在数字为单个字符时有效。如果有多个字符,则应拆分字符串:

for item in classes:
    print(item.split()[0])
你可以这样做:

for i in classes:
    print(i[0])

为什么不在类中为i设置
:print(i[0])