IPython Notebook:如何在没有换行的情况下显示()多个对象

时间:2013-07-03 03:29:21

标签: python ipython ipython-notebook

目前,当我在IPython笔记本中使用display()函数时,我会在对象之间插入换行符:

>>> display('first line', 'second line') 
first line
second line

但我希望print()行为将所有内容保存在同一行,例如:

>>> print("all on", "one line")
all onone line 

是否有更改display行为的方法来执行此操作?

1 个答案:

答案 0 :(得分:7)

不,display无法阻止新行,部分原因是没有新行可以阻止。每个显示的对象都有自己的div坐下,这些是垂直排列的。您可以通过使用CSS进行调整来调整此值,但我不建议这样做。

唯一可以让两个对象并排显示的方法是构建自己的对象,封装多个显示的对象,然后显示它。

例如,您的简单字符串大小写:

class ListOfStrings(object):
    def __init__(self, *strings):
        self.strings = strings

    def _repr_html_(self):
        return ''.join( [
           "<span class='listofstr'>%s</span>" % s
           for s in self.strings
           ])

display(ListOfStrings("hi", "hello", "hello there"))

example notebook