运行给字符串加“\t”的函数时,每个函数看起来都不一样

2024-09-30 02:15:10 发布

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

我有一个函数,它将给我最外面的值(key\ n)和最里面的值,附加到一个字符串,然后将它附加到一个包含所有单个字符串组合的字符串(希望这是有意义的)。你知道吗

big_milon = {'key_1' : {'{key1':'dasdadsad', 'key2': 'hat', 'key3':'cat'},
         'key_2' : {'key1':'fat', 'key2': 'pat','key3':'lat'}}

def string_getter():
    prop_string = ''
    full_list = ''
    for i,j in big_milon.items():
        prop_list = []
        itemcode = i
        prop = list(j.values())
        for l in range(len(prop)):
            prop_string =  prop_string +'\t'+ "{" + prop[l] + "}"
        full_list = full_list + itemcode + prop_string + '\n'
        prop_string = ''
    return full_list

print(string_getter())

它工作得很好,只是有时,它看起来不像两个值之间有一个选项卡,而是两个选项卡或没有选项卡

例如

print(string_getter())

enter image description here


Tags: key字符串inforstringfull选项卡list
1条回答
网友
1楼 · 发布于 2024-09-30 02:15:10

\t不是空格,而是制表。\t(或tabulation),默认情况下,跳到下一列的8的倍数。。。(实际上是+1,因为我们从1开始计算)。因此,如果在第1-8列中,\t将跳到第9列。如果你在9-16,它会跳到17,等等

至少,这是旧的含义-从机械打字机和电传打字机。(甚至还有一些回旋余地:一些机械打字机允许设置标签栏)

The dots are spaces, the arrows are the result of tab characters, tabs size set to 8点是空格,箭头是制表符的结果,制表符大小设置为8

现代计算机和编辑器允许重新定义标签大小-通常在首选项中。通常,它们还允许自动将制表符(\t)更改为空格,反之亦然。你知道吗

一般来说,这使得标签的使用变成了一场噩梦。你可以用制表符(如程序)来写一篇文章,但是如果你把它发给某个人,他/她看到的文本会有所不同。以下是一些由选项卡和不同设置分隔的“单词”示例:

Tab size set to 8选项卡大小设置为8

Tab size set to 2选项卡大小设置为2

Tab size set to 4选项卡大小设置为4

例外情况是use of ^{} as a data separator(或多或少像您所做的那样)。在输出中仍然有一些顺序度量,除非某些单词超过8个字符。你知道吗

另一方面,像Python这样依赖空格来格式化代码的语言,尤其会受到这种情况和recommend not changing the tab size from 8的影响。而Python3显然甚至不允许混合制表符和空格来避免更多的混淆。你知道吗

更糟糕的是,某些上下文中的标签还有其他含义:比如stackoverflow.com网站,其中制表符更改为“区域”。如果我现在按tab键,我会在屏幕的另一部分着陆。Here是计算机使用中选项卡的一些使用指南。你知道吗

相关问题 更多 >

    热门问题