我想问一下,是否可以将输出打印为for循环的唯一第一个输出?
这是我当前的源代码。在for i in tup[:1]
中,我试图将输出设置为仅打印第一个输出,但是它不起作用。甚至我删除了for循环,但结果得到了最后的输出。
for row, cols in df.iterrows():
cols_list = cols[cols>=0.98].index.tolist()
if len(cols_list)>0:
row_list = [row]*len(cols_list)
tup = tuple(zip(row_list,cols_list))
if len(tup) > 1:
for i in tup[:1]:
print(row, f' >0.98 {cols_list}')
else:
print(f'>0.98 {cols_list}')
这是当前输出
5 >0.98 [5, 30, 40, 42]
10 >0.98 [10, 30, 40, 42]
11 >0.98 [11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 33, 34, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54]
12 >0.98 [11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 38, 39, 40, 41, 42, 44
但是我的预期输出是仅将其输出到第一个输出5 >0.98 [5, 30, 40, 42]
答案 0 :(得分:1)
在第一次迭代后仅break
个循环:
for row, cols in df.iterrows():
cols_list = cols[cols>=0.98].index.tolist()
if len(cols_list)>0:
row_list = [row]*len(cols_list)
tup = tuple(zip(row_list,cols_list))
if len(tup) > 1:
print(row, f' >0.98 {cols_list}')
break
else:
print(f'>0.98 {cols_list}')
答案 1 :(得分:1)
没有内置的方法可以执行此操作,但是您可以对其进行编程:
first_run = True
for i in range(10):
if first_run:
print("This is the first iteration of the loop!")
first_run = False
print(i)
但是看起来您只是想打印熊猫数据框的第一行。您可能要看一下head() function。
答案 2 :(得分:1)
怎么样,
for i in range(10):
print("This is the first iteration of the loop!")
break