我正在尝试编写一个函数,返回一个看起来像这样的字符串(2,3 | 5,6 | 8,9),但我的函数on返回一个空字符串
numbers = [(4,5,6),(1,2,3),(7,8,9)]
def get_numbers(x):
mystring = ""
x = sorted(x)
for n in x:
if mystring is not "":
mystring+="|"
mystring+",".join(str(z) for z in n[1:])
return mystring
我该如何解决这个问题?
答案 0 :(得分:2)
有一个小虫子。您输入了mystring=
而不是mystring +=
numbers = [(4,5,6),(1,2,3),(7,8,9)]
def get_numbers(x):
mystring = ""
x = sorted(x)
for n in x:
if mystring is not "":
mystring+="|"
mystring+=",".join(str(z) for z in n[1:])
return mystring
答案 1 :(得分:1)
将加入用于更改列表,将元组用于字符串
values = map(lambda x: x[1:], sorted(numbers))
print "|".join([",".join(map(str, value)) for value in values])
答案 2 :(得分:0)
只是为了好玩,一个丑陋的衬垫; - )
'(' + '|'.join([','.join(map(str, l[1:])) for l in numbers]) + ')'
我还在你写的时候添加了括号,你想要一个看起来像这样的字符串。