因此,我将此列表的格式设置为 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)
我很近。如何阻止它重复这些配对?
答案 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,
感谢大家的帮助。