如何在水平列表中显示python函数的输出,以便重用?

2024-09-27 07:33:55 发布

您现在位置:Python中文网/ 问答频道 /正文

def prim():
    global network
    co = 0
    for ro in range(sheet.nrows):# 6, 1
           if sheet.cell_value(ro,1)=='Yes':
            prim_cols1 = sheet.cell_value(ro,co)
            network = [prim_cols1]
            print network
prim()

我在这里阅读了一个输入excel,并在下一行中得到了如下输出:

customer,
order,
date

但是我想得到一个水平行中的输出'customer', 'order', 'date',这样我就可以以其他方式重用这个输出。你知道吗


Tags: infordaterovaluedefcellorder
3条回答

使用系统标准输出写入它允许您控制将返回字符放在何处

import sys
def prim():
    global network
    co = 0
    for ro in range(sheet.nrows):# 6, 1
           if sheet.cell_value(ro,1)=='Yes':
            prim_cols1 = sheet.cell_value(ro,co)
            network = [prim_cols1]
            sys.stdout.write(str(network)+' ')
    sys.stdout.write('\n')
prim()

将数据存储到列表中,然后使用str.join打印列表

def prim():
    global network
    co = 0
    networks = []
    for ro in range(sheet.nrows):# 6, 1
        if sheet.cell_value(ro,1)=='Yes':
            prim_cols1 = sheet.cell_value(ro,co)
            network = prim_cols1
            networks.append(network)
    print(" ".join(networks))
    prim()

在Python3中,可以向print添加参数

mylist=["a","b","c"]
def prim():
    # some processing
    for x in mylist:
        # some processing
        print(x,end=" ")
prim()
# a b c 

否则,将其附加到空字符串并打印该字符串

def prim():
    mystring=""
    # some processing
    for x in mylist:
        # some processing
        mystring=mystring+x+" "
    print(mystring)
prim()
# a b c 

相关问题 更多 >

    热门问题