首页 文章

在使用元组的函数上使用元组列表

提问于
浏览
-1

我想使用一个以元组作为参数的函数,但是我有一个元组列表,每当我尝试将元组列表提供给它返回的函数时

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 回答

  • 0

    如果要单独加入元组,可以使用列表推导:

    [delimiter.join(x) for x in list_of_tup] # delimiter should be a string
    

    否则你需要解压缩元组然后加入它们 . 为此目的,您可以使用嵌套列表理解或 itertools.chain

    delimiter.join([item for tup in list_of_tup for item in tup])
    

相关问题