如何在Python的同一行上格式化和打印

时间:2019-01-26 18:49:57

标签: python string

因此,我将此列表的格式设置为 MyTextViewModel tv = LayoutInflater.from(this).inflate(R.layout.tab_text,null) tabLayout.getTabAt(i).setCustomView(tv);

<self.ID> - <neighbor>

我的目标是像这样输出

1 - 2, 
1 - 3,    
2 - 1,    
2 - 4,    
3 - 1,   
3 - 4,    
4 - 2,    
4 - 3,

因此,基本上将所有相同的self.ID放在同一行上,并在最后一对之后省略逗号。 python中有什么可以做到这一点,还是有人知道可以帮助的幻想算法?谢谢。

我现在所拥有的就是这个:

1-2, 1-3    
2-1, 2-4    
3-1, 3-4    
4-2, 4-3

这显然会逐行打印。我想我只是想朝着正确的方向推动我要做的事情

更新:

这是我的新代码:

for neighbor is self.list:
    print ""%d" % self.ID + " - " + "%d" % neighbor + ", "

和我的新输出:

array = []
for l in self.pairs
    string = "%d - %d" % (self.ID, l)
    array.append(string)
    print ", ".join(array)

我很近。如何阻止它重复这些配对?

5 个答案:

答案 0 :(得分:1)

from itertools import groupby

key = lambda i: int(i.split('-')[0].strip())

values = groupby(sorted(your_list, key=key), key=key)

for _, l in values:
    print(', '.join(l))

group_by的工作原理https://docs.python.org/3/library/itertools.html#itertools.groupby

答案 1 :(得分:0)

不太清楚输入内容,但会共享以下代码来帮助您入门:

s = ['1', '-', '2,', '1', '-', '3,', '2', '-', '1,', '2', '-', '4,', '3', '-', '1,', '3', '-', '4,', '4', '-', '2,', '4', '-', '3,']
x = 0
y = 6
for _ in range(0, int(len(s)/6)):
    print(' '.join(s[x:y]))
    x+=6
    y+=6

答案 2 :(得分:0)

i='0'
line =''
for item in list 
    item_s = item.split(' ')
    if (item_s[0] is i):
        line = line + item
    else:
        print(line)
        line=''
        i = item_s[0]
        line = line + item

答案 3 :(得分:0)

为什么不只使用zip运算符?不能100%确定这是否代表您的意思。

example = ["1-2,","1-3,","2-1,","2-4,", "3-1,","3-4,", "4-2,", "4-3,"]
result = [a + " " + b[:-1] for a,b in zip(example[0::2], example[1::2])]
result

其中example [0 :: 2]从索引0开始选择第二个元素,example [1 :: 2]从索引1开始选择第二个元素 并且b [:-1]摆脱了“,”

答案 4 :(得分:0)

解决方案:

我的目标是以git init --bare site1.git cd site1.git git config --list 的形式列出列表

我的原始代码输出:

<self.ID> - <neighbor>, ...

我最终的输出代码:

for neighbor is self.list:
    print ""%d" % self.ID + " - " + "%d" % neighbor + ", "

1 - 2, 
1 - 3,    
2 - 1,    
2 - 4,    
3 - 1,   
3 - 4,    
4 - 2,    
4 - 3,

感谢大家的帮助。