在我用Python更新列表的操作之一中,我得到了意想不到的结果?请解释

时间:2017-12-17 18:08:09

标签: python python-3.x

我试图在除使用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'

1 个答案:

答案 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' 
>>> 

repr(object)说:

  

返回包含对象的可打印表示的字符串。