用python打印带有不同分隔符的数字列表

用python打印带有不同分隔符的数字列表,python,python-3.x,list,Python,Python 3.x,List,我需要在python中将数字打印为整数,但根据列表中的位置使用不同的分隔符。如果列表中只有一个数字,则应按如下方式打印:1否则,如果有多个数字,则使用以下模式: 5:7!11&13:17!19和23 我有正确的打印和分隔符部分,但它是一个列表,它是一个字符串列表。代码如下: primen = [5,7,11,13,17,19,23] prime_out = [] prime_str = [str(item) for item in primen] prime_len = len(prime_

我需要在python中将数字打印为整数,但根据列表中的位置使用不同的分隔符。如果列表中只有一个数字,则应按如下方式打印:1否则,如果有多个数字,则使用以下模式:

5:7!11&13:17!19和23

我有正确的打印和分隔符部分,但它是一个列表,它是一个字符串列表。代码如下:

primen = [5,7,11,13,17,19,23]
prime_out = []
prime_str = [str(item) for item in  primen]

prime_len = len(prime_str)
if (prime_len ==  0):
      print ("No Primes")
      exit()    

for k in range(0,prime_len): 
    if   k == prime_len - 1:
           prime_out.append(prime_str[k])
           print(prime_out)
    else:
          if  lng ==  0:
                prime  =  prime_str[k] + ":"  
                prime_out.append(prime)
                lng =  lng + 1                 
          elif lng == 1:
                prime  =  prime_str[k] + "!"
                prime_out.append(prime)
                lng = lng + 1                     
          elif  lng ==  2:
                prime  =   prime_str[k] + "&"
                prime_out.append(prime)                   
                lng = 0
  
我的输出如下:['5:'、'7!'、'11&'、'13:'、'17!'、'19&'、'23'] 如何让它看起来像我需要它?

您可以像这样使用“加入”:

output = ['5:', '7!', '11&', '13:', '17!', '19&', '23']
print("".join(output))
结果是:

5:7!11&13:17!19&23

哇,那很容易。非常感谢。