我试图在除使用map功能之外的其他场景中更新列表。我尝试循环并在我的一个操作上,我得到了意想不到的结果。这是我的代码。
#my_function_which_is_only_for_printing
def app(l):
for i in l:
print(i)
l=[1,2,'3','4'] #list_with_int_and_str
app(l) #calling_function
#As result my all output are integer
#It Should be integer and character rather then all as integer
我的预期输出是这样的 1 2 3 4 我应该这样做 1 2 ' 3' ' 4'
答案 0 :(得分:0)
你的功能正在做你想要的:1和2是int
类型和' 3'和' 4'属于str
类型:
def app(l):
for i in l:
print("{} is: {}".format(i, type(i)))
l = [1,2,'3','4']
app(l)
1 is: <class 'int'>
2 is: <class 'int'>
3 is: <class 'str'>
4 is: <class 'str'>
修改:要获取list
元素的字符串表示形式,例如评论中建议的@Paul Panzer,您可以执行print(repr(i))
:
def app(l):
for i in l:
print(repr(i), end=' ') # Print on the same line
l = [1,2,'3','4']
app(l)
1 2 '3' '4'
>>>
返回包含对象的可打印表示的字符串。