2024-05-08 01:28:37 发布
网友
我试图使用str.format()方法,当我的值存储在元组中时遇到了一些困难。例如,如果我这样做:
str.format()
s = "x{}y{}z{}" s.format(1,2,3)
然后我得到'x1y2z3'-没问题。 但是,当我尝试:
'x1y2z3'
s = "x{}y{}z{}" tup = (1,2,3) s.format(tup)
我明白了
IndexError: tuple index out of range.
那么,如何将元组“转换”为单独的变量呢?或者其他解决办法?
你可以把元组的连词拆开。
s=s.format(*t)
使用^{} variable arguments call syntax传入元组:
s = "x{}y{}z{}" tup = (1,2,3) s.format(*tup)
在tup之前的*告诉Python将元组解压成单独的参数,就好像您调用了s.format(tup[0], tup[1], tup[2])。
tup
*
s.format(tup[0], tup[1], tup[2])
或者可以索引第一个位置参数:
s = "x{0[0]}y{0[1]}z{0[2]}" tup = (1,2,3) s.format(tup)
演示:
>>> tup = (1,2,3) >>> s = "x{}y{}z{}" >>> s.format(*tup) 'x1y2z3' >>> s = "x{0[0]}y{0[1]}z{0[2]}" >>> s.format(tup) 'x1y2z3'
你可以把元组的连词拆开。
s=s.format(*t)
使用^{} variable arguments call syntax 传入元组:
在
tup
之前的*
告诉Python将元组解压成单独的参数,就好像您调用了s.format(tup[0], tup[1], tup[2])
。或者可以索引第一个位置参数:
演示:
相关问题 更多 >
编程相关推荐