How Do I Add A String And An Int Object In Python?
Solution 1:
String concatenation in Python only works between strings. It doesn't infer types based on need like other languages.
There are two options, cast the integer to a strings and add it all together:
>>> x ="a"
>>> y = 1
>>> "(" + x + "," + str(y) + ")"
'(a,1)'
>>> "('" + x + "'," + str(y) + ")"
"('a',1)"
>>> "(" + repr(x) + "," + str(y) + ")"
"('a',1)"
Or use string formatting to take care of some of this behind the scenes. Either using (deprecated) "percent formatting":
>>> "(%s,%d)"%(x,y)
'(a,1)'
>>> "('%s',%d)"%(x,y)
"('a',1)"
>>> "(%s,%d)"%(repr(x),y)
"('a',1)"
Or the more standard and approved format mini-language:
>>> "({0},{1})".format(x, y)
'(a,1)'
>>> "('{0}',{1})".format(x, y)
"('a',1)"
>>> "({0},{1})".format(repr(x), y)
"('a',1)"
Solution 2:
It finally clicked what you want and what your input is! It's for arbitrary length columns object! Here you go:
return_string = "(" + ', '.join((repr(column) for column in columns)) + ")"
Output is exactly as requested:
('a', 1)
All previous answers (including my deleted one), were assuming a fixed two-item input. But reading your code (and wading through the indent corruption), I see you want any columns
object to be represented.
Solution 3:
You can create a function to represent your type correctly:
def toStr(x):
if isinstance(x, int):
return str(x)
#another elif for others types
else:
return "'"+x+"'"
And use
myTuple = ('a', 1, 2, 5)
print "("+", ".join(toStr(x) for x in myTuple)+")"
to print in the correct format.
Post a Comment for "How Do I Add A String And An Int Object In Python?"