我有两个数据结构,使用for循环生成的字符串形式,如下所示:
之一:
11111,
11111,
11111,
2:
22222,
22222,
22222,
然后我将one
和two
放入几个列表中,以便我可以压缩它们。我还添加了一个'*'来表示数据中的换行符
one = [11111,'*',11111,'*',11111,'*',]
two = [22222,'*',22222,'*',22222,'*',]
one = str(one)
two = str(two)
print("'*',".join([",".join(x) for x in zip(one.split(),two.split())]))
我希望我的最终输出如此:
11111,22222
11111,22222
11111,22222
然而,我实际上使用上面的代码获得的是输出:
[11111,,[22222,'*','*',,'*','*',11111,,22222,'*','*',,'*','*',11111,,22222,'*','*'],'*']
谁能告诉我我做错了什么?
由于
答案 0 :(得分:1)
只需zip
和join
列表,在内部联接中使用逗号分隔,在外部使用换行符:
one = "11111,11111,11111"
two = "22222,22222,22222"
one, two = one.split(","),two.split(",")
print("\n".join([",".join(x) for x in zip(one,two)]))
11111,22222
11111,22222
11111,22222
答案 1 :(得分:1)
>>> str1 = '''11111,
... 11111,
... 11111,'''
>>> str2 = '''22222,
... 22222,
... 22222,'''
for y in [ ",".join(x) for x in zip(str1.strip(',').split(',\n'),str2.strip(',').split(',\n'))]:
... print(y)
输出:
11111,22222
11111,22222
11111,22222
使用strip
删除额外的逗号,然后split
然后join