Python 如何组合3个变量。很简单

Python 如何组合3个变量。很简单,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我有一个问题,要求我组合三个数值变量,例如,a=1,b=2,c=3。我们应该让d='1 | 2 | 3'。我在BASH中编写了一些脚本,“|”指的是管道。在Python中如何实现这一点,以及“|”的意思是什么?垂直条只是一个字符。用逗号或破折号来处理这个问题。将每个整数转换为字符串,并用中间的条连接它们。这只是一个字符串操作练习;没有什么特别深刻或棘手的事情。只需创建一个所有变量的列表,并使用管道符号将它们连接起来 "|".join(map(str, [a, b, c])) 不确定“组合”的确

我有一个问题,要求我组合三个数值变量,例如,a=1,b=2,c=3。我们应该让d='1 | 2 | 3'。我在BASH中编写了一些脚本,“|”指的是管道。在Python中如何实现这一点,以及“|”的意思是什么?

垂直条只是一个字符。用逗号或破折号来处理这个问题。将每个整数转换为字符串,并用中间的条连接它们。这只是一个字符串操作练习;没有什么特别深刻或棘手的事情。

只需创建一个所有变量的列表,并使用管道符号将它们连接起来

"|".join(map(str, [a, b, c]))

不确定“组合”的确切含义。在Python中,可以将变量组合到元组中,这样就可以有一个“复合”或组合变量,用于查找表等

a = 1
b = 2
c = 3
combined = (a,b,c)

现在,您可以执行类似于
x={combined:“value”}

的操作解决方案hspandher是正确的,但主要适用于一组三个数值变量。创建这样的函数可能更有用:

def numberCombiner(a, b, c):
    return str(a)+"|"+str(b)+"|"+str(c)
numberCombiner(1,2,3)
它将接受三个数值并输出所需的字符串。然后可以对不同的值调用numberCombiner函数,如:

numberCombiner(2,3,4)
哪个会回来

>>> '2|3|4'
使用格式:

>>> a=1
>>> b=2
>>> c=3
>>> "{}|{}|{}".format(a,b,c)
'1|2|3'

使用生成器表达式将整数变量转换为字符串,并使用垂直线符号将它们连接起来

"|".join(str(v) for v in [a, b, c])


感谢juanpa.arrivillaga指出了生成器表达式语法,其中生成器立即被封闭函数使用。有关更多信息,请参见注释。

因此,输入是三个独立的整数,输出是类似于
“1 | 2 | 3”
?不清楚您在问什么。你能告诉我们你尝试了什么并进一步解释你在这里尝试做什么吗?
“|”。加入(map(str[a,b,c])
OP想要的是“1 | 2 | 3”而不是“a | b | c”@bulbus谢谢。修正了。@bulbus也修正了:)或
“|”。加入([a,b,c]]中的[str(x)代表x)
@bulbus-Nah,仍然在
map
bus上。但是,我可以直接使用
str
方法,就像你在评论中所做的那样。这不是列表理解,这是一个生成器表达式。你能给出一个链接或简要解释一下吗?根据官方文件,这似乎是一份清单:是的。注意,列表理解用方括号括起来,就像列表文字一样,例如,
[a,b,c]
中的v用str(v)表示,等效的生成器表达式是
(str(v)表示[a,b,c]中的v])
,注意圆括号。此外,如果生成器表达式是函数调用中的唯一参数,则可以省略圆括号