我想使用一个以元组作为参数的函数,但是我有一个元组列表,每当我尝试将元组列表提供给它返回的函数时
s = s.join(x)
TypeError: sequence item 0: expected str instance, tuple found
然而,只有一个元组本身没有它周围的列表,该函数将按预期工作 .
有没有办法可以像这样提供一个元组列表:
[('abcd','1234','xyz'),('e.t.c', 'e.t.c', 'test')]
一个单独使用单个元组的函数?谢谢 :)
编辑 - 这是我将元组列表提供给的函数:
def strFormat(x):
#Convert to string
s=' '
s = s.join(x)
print(s)
#Split string into different parts
payR, dep, sal, *other, surn = s.split()
other = " ".join(other)
#Print formatting!
print ("{:5}, {:5} {:>10} {:10} £{:10}".format(surn , other, payR, dep, sal))
将单个元组放入此函数时,它会按预期返回打印格式的字符串 . 将元组列表放入此函数时,它不起作用并返回错误 . 我如何使它如上所述的元组列表将适用于上述功能?
1 回答
如果要单独加入元组,可以使用列表推导:
否则你需要解压缩元组然后加入它们 . 为此目的,您可以使用嵌套列表理解或
itertools.chain
: