标签: padding

Python tabstop-aware len()和填充函数

Python的len()和填充函数(如string.ljust())不能识别tabstop,即它们将'\ t'视为任何其他单宽度字符,并且不会将len舍入到最接近的tabstop倍数.例:

len('Bear\tnecessities\t')
Run Code Online (Sandbox Code Playgroud)

是17而不是24(即4+(8-4)+11+(8-3))

并说我也想要一个pad_with_tabs(s)这样的功能

pad_with_tabs('Bear', 15) = 'Bear\t\t'
Run Code Online (Sandbox Code Playgroud)

寻找这些的简单实现 - 首先是紧凑性和可读性,效率第二.这是一个基本但令人恼火的问题.@gnibbler - 你能展示一个纯粹的Pythonic解决方案,即使效率低20倍吗?

当然你可以使用str.expandtabs(TABWIDTH)来回转换,但这很笨重.导入数学也变得非常TABWIDTH * int( math.ceil(len(s)*1.0/TABWIDTH) )矫枉过正.

我无法管理比以下更优雅的东西:

TABWIDTH = 8

def pad_with_tabs(s,maxlen):
  s_len = len(s)
  while s_len < maxlen:
    s += '\t'
    s_len += TABWIDTH - (s_len % TABWIDTH)
  return s
Run Code Online (Sandbox Code Playgroud)

并且由于Python字符串是不可变的,除非我们想将我们的函数修补为字符串模块以将其添加为方法,我们还必须分配给函数的结果:

s = pad_with_tabs(s, ...)
Run Code Online (Sandbox Code Playgroud)

特别是我无法使用list-comprehension或string.join(...)获得干净的方法

''.join([s, '\t' * ntabs])
Run Code Online (Sandbox Code Playgroud)

没有特殊情况下len(s)<TABWIDTH的整数倍,或len(s)> = maxlen的情况.

任何人都可以显示更好的len()和pad_with_tabs()函数吗?

python function padding tabstop

3
推荐指数
1
解决办法
745
查看次数

如何在保留填充的同时将填充字符串转换为整数?

我在Python上遵循了一个很好的例子:将零填充为字符串(4)的最好方法, 但现在我需要将填充的字符串转换为填充整数.

我试过了:

   list_padded=['0001101', '1100101', '0011011', '0011011', '1101111',
      '0000001', '1110111',  1101111', '0111001', '0011011',
      '0011001'] # My padded sting list. 

   int_list=[int(x) for x in list_padded] # convert the string to an INT
Run Code Online (Sandbox Code Playgroud)

但我得到的是一个没有填充的整数列表.

欣赏任何方向或建议.

非常感谢,杰克

编辑:在得知整数没有填充的启示后,我的想法有点不同,但是解释更多可能是一个好主意:

我正在书中进行基本的加密练习.它给了我一个pseduocode列表 - 获取密码字符串1-127和消息,将两者转换为二进制,剥离0b,并用零填充.然而,它希望我在没有异常的情况下完成剩下的工作!我一次得到那么远的一行,但现在来了(问题开始的地方):

  • 执行手动XOR操作并将二进制7位结果附加到加密字符串
  • 将消息字符和键的每个二进制位转换为整数
  • 对这两位执行XOR运算
  • 将文字True和False转换为二进制位并附加到输出

我喜欢使用XOR操作,但我害怕这样做,我不会去学习我需要的东西.

-J

python string integer padding

3
推荐指数
2
解决办法
1483
查看次数

宽度为100%的输入字段"到达"填充

我有一个带有输入字段的Tablecell.Inputfield应填满Tablecell,但不能覆盖其填充.我看起来像这样(用萤火虫):

表单元素到达填充

我希望输入字段保持在蓝色区域内而不是进入紫色区域.

而且:我当然首先阅读了关于这个主题的所有问题.我读了所有这些,但我找不到任何实际解决的答案.

它应该适用于所有现代浏览器(即7);

我用jsfiddle创建了一个最小的实例,其中我在其他问题中尝试了所有解决方案,但我无法让它工作.a)有没有可行的解决方案?和b)是否有一个很好的非解决方案?

为什么这是所有浏览器中的问题?我认为这是CSS中的错误规范.因为如果我说"100%"当然我希望元素符合"内容区域"的"100%".让它流入填充和边距的用例是什么?

html css padding input-field

3
推荐指数
1
解决办法
8031
查看次数

在响应式设计中解决CSS填充问题

这个简单的HTML5布局旨在左侧有一个导航栏,主体文本与它一起浮动(使用百分比而不是像素表示流畅的响应式设计 - 计算在CSS中的注释中.)

http://www.wturrell.co.uk/stackoverflow/20110615-01.html

'page'div中元素的宽度总计达到100%.我想为某些元素添加填充,在本例中为nav.如果我删除所有填充,它们正确浮动,但超过1或2个像素的填充(无论它指定的单位),它会中断.我不明白为什么这会破坏布局,因为它的填充因此肯定不会改变块的整体大小?

我错过了什么?

更新 - 解决方案: http ://www.wturrell.co.uk/stackoverflow/20110615-02.html

(元素显示宽度=宽度边框填充.导航应为标称200像素,右侧为20px填充,因此对于流体设计,宽度= 180/900*100或20%,填充= 20/900*100或2.222 %和正文仍为700/900*100或77.777%.)

css padding fluid-layout

3
推荐指数
2
解决办法
1万
查看次数

在C#控制台中从左侧填充

目前我正在尝试在控制台中打印一些信息,但我试图给所有结果提供相同的填充.

这里有一个例子,你可以看到CurrentBuildNumber结果有一个/ t到多./ t只是将所有内容对齐,它可能是其他任何内容. 示例截图

所以,我需要一个"固定"填充:[结果].我怎样才能在我的代码中正确执行此操作?

谢谢!

码:

        RegistryKey registryKeys = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");

        foreach (string registryKey in registryKeys.GetValueNames())
        {
            Console.WriteLine(registryKey + "\t\t: " + registryKeys.GetValue(registryKey));
        }
Run Code Online (Sandbox Code Playgroud)

c# padding console-application

3
推荐指数
2
解决办法
4729
查看次数

无法删除表格单元格中的顶部填充或空格,为什么?

我正在向我的左表格单元格添加填充,但中心和右侧单元格也会获得顶部填充.如何从中心和右侧单元格中删除填充?

中心和右侧细胞仍然是顶部填充.

http://jsfiddle.net/o50s8ucj/

<!doctype html>
<html>
    <head>
        <style>
            * {
                margin: 0;
                padding: 0;
            }

            .left, .center, .right {
                display: table-cell;
                width: 100px;
                height: 50px;
            }

            .center, .right {
                display: table-cell;
                width: 100px;
                padding: 0;
            }

            .left {
                padding: 10px;
                background: yellow;
            }

            .center {
                background: pink;
            }

            .right {
                background: orange;
            }
        </style>
    </head>
    <body>
        <div class="left">a</div>
        <div class="center">b</div>
        <div class="right">c</div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css padding

3
推荐指数
1
解决办法
2917
查看次数

如何在没有填充位的情况下在C中输出二进制文件

我想将结构数据输出到二进制文件,但每个变量的信息之间没有任何填充位.例如:

struct s {
    int i1;
    short s1;
    char c1;
};
struct s example[2];
Run Code Online (Sandbox Code Playgroud)

如果我使用fwrite(&example, sizeof(struct s), 2, file)的二进制文件仍然之间,例如,填充比特s1c1,也从c1i1 (of the 2nd struct).

从输出文件中删除这些填充位的好方法是什么?

谢谢!任何帮助表示赞赏

c binary bits padding output

3
推荐指数
1
解决办法
1045
查看次数

离子2:从表单元素中删除巨大的填充

问)我有以下页面网格结构,我想删除所有内容的填充,以便它不是那么大.有没有一种很好的方法来做到这一点,不会破坏所有的Ionic风格的开箱即用?

这是结构:

<ion-content>
  <ion-row baseline>
    <ion-col width-90>
      <ion-item>
        <ion-label stacked>Email</ion-label>
        <ion-input type="text"></ion-input>
      </ion-item>
    </ion-col>
    <ion-col width-10>
      <ion-icon name='more'></ion-icon>
    </ion-col>
  </ion-row>
  <ion-row baseline>
    <ion-col width-90>
      <ion-item>
        <ion-label stacked>Floor</ion-label>
        <ion-select item-right>
          <ion-option value="nes">NES</ion-option>
          <ion-option value="n64">Nintendo64</ion-option>
          <ion-option value="ps">PlayStation</ion-option>
          <ion-option value="genesis">Sega Genesis</ion-option>
          <ion-option value="saturn">Sega Saturn</ion-option>
          <ion-option value="snes">SNES</ion-option>
        </ion-select>
      </ion-item>
    </ion-col>
    <ion-col width-10>
      <ion-icon name='more'></ion-icon>
    </ion-col>
  </ion-row>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

在此输入图像描述

谢谢.

css padding styling ionic2 angular

3
推荐指数
1
解决办法
6879
查看次数

在iOS Webview上获得填充/边距

我有一个问题.我想在webview上方填充或边距.这是问题的图片:

在此输入图像描述

谁能帮我解决这个问题?

padding ios swift

3
推荐指数
1
解决办法
2495
查看次数

为什么union和inner struct添加填充?

在amd64上,以下结构的大小为16个字节:

typedef struct _my_struct {
    void *a;
    UINT32 b;
    UINT16 c;
    UINT8 d;
    UINT8 e;
} my_struct;
Run Code Online (Sandbox Code Playgroud)

但是当我把前三个变量放在一个联合中时,大小变为24.为什么?

typedef struct _my_struct {
    union {
        struct {
            void *a;
            UINT32 b;
            UINT16 c;
        } my_inner;
        struct {
            void **f;
        } my_inner2;
    }
    UINT8 d;
    UINT8 e;
} my_struct;
Run Code Online (Sandbox Code Playgroud)

c padding unions

3
推荐指数
1
解决办法
577
查看次数