【问题标题】:Joining the 4 digits from the list each time [duplicate]每次加入列表中的 4 位数字[重复]
【发布时间】:2020-04-06 05:32:30
【问题描述】:

我试图弄清楚每次循环返回下面给出的数据时如何获得 4 位数字

li = ['1','1','7','1','2','1','1','4','1','6','7','8','1','8','1','0','1','B','1','N','1','Y','1','T','1','O']

作为输出:

1171
2114
1678
1810
1B1N
Y1T1

谁能帮帮我?

我想答案是这样的

list=['1','2','3','4','5','6','5','4','7','8','9','1','0','6','4','3','4','5','4','7','8','9','0']
j=0
for i in len(list):
     if i%4==0:
         print("\n")
     print(list[i],end=' ')

【问题讨论】:

标签: python


【解决方案1】:

您可以使用iterzip

list(map(''.join, zip(*[iter(li)]*4)))

【讨论】:

    【解决方案2】:

    这应该可以在不打印输出中显示的最后 2 个值的情况下工作。在范围内使用step

    li = ['1','1','7','1','2','1','1','4','1','6','7','8','1','8','1','0','1','B','1','N','1','Y','1','T','1','O']
    for i in range(0,len(li),4):
        if len(''.join(li[i:i+4])) == 4:
            print(''.join(li[i:i+4]))#+str(li[i+1])+str(li[i+2])+str(li[i+3]))
        else:
            pass
    

    输出:

    1171
    2114
    1678
    1810
    1B1N
    1Y1T
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-12
      • 2022-07-11
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 2020-11-26
      • 2017-06-16
      • 1970-01-01
      相关资源
      最近更新 更多