我正在处理Rubik的多维数据集分配,并且需要帮助来完成以下步骤之一。 我需要通过比较元素并跳过第5个元素来遍历列表。 到目前为止,我能够找到这个:
newList =['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26']
for elem in newList[ : : 5]:
print elem
使用此方法,我只能打印每第5个元素,这与我想要的相反。 谢谢
答案 0 :(得分:4)
[newList[each] for each in range(len(newList)) if each % 5 != 4]
虽然我正在使用python3,请尝试使用它是否也适用。
如其他答案所建议,使用枚举结果更好:
[each for index, each in enumerate(newList) if index % 5 != 4]
答案 1 :(得分:1)
您可以在迭代时使用enumerate
函数,以便知道该元素在列表中具有哪个索引。然后,您可以轻松地执行检查:
my_dates = ['05 Nov 2018', '25 Mar 2017', '01 Nov 2018', '07 Mar 2017']
my_dates = [ dt.strptime(date, '%d %b %Y') for date in my_dates ]
print(my_dates)
# [datetime.datetime(2018, 11, 5, 0, 0), datetime.datetime(2017, 3, 25, 0, 0), datetime.datetime(2018, 11, 1, 0, 0), datetime.datetime(2017, 3, 7, 0, 0)]
my_dates.sort()
print(my_dates)
# [datetime.datetime(2017, 3, 7, 0, 0), datetime.datetime(2017, 3, 25, 0, 0), datetime.datetime(2018, 11, 1, 0, 0), datetime.datetime(2018, 11, 5, 0, 0)]
my_dates = [ date.strftime('%d %b %Y') for date in my_dates ]
print(my_dates)
# ['07 Mar 2017', '25 Mar 2017', '01 Nov 2018', '05 Nov 2018']
答案 2 :(得分:1)
您可以使用元素的索引来跳过。
setArrayObjectPrototype()
希望这会有所帮助!干杯!
答案 3 :(得分:0)
这是我的方法。
array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
count = 1
for i in array1:
if count % 5 != 0:
count += 1
print(i)
else:
count += 1