【问题标题】:What did the * for th print function in python 3.x? [duplicate]python 3.x中的* for th打印功能是什么? [复制]
【发布时间】:2017-08-11 14:05:08
【问题描述】:

有什么区别

for i in list:
    print(*i,sep="")

还有这个打印声明

for i in list:
    print(i)

【问题讨论】:

    标签: python list printing


    【解决方案1】:

    print(*i,sep="") 语句打印从 i 迭代中提取的所有值,不带任何分隔符。

    print(I) 将打印 i 值。对于可迭代对象,它将打印每个值的字符串表示形式。

    看看区别:

    i = [1, 2, "hi"]
    
    print(*i, sep="")
    # -> 12hi
    print(i)
    # -> [1, 2, 'hi']
    

    解释:

    *i 语法称为“解包”:提取可迭代对象(listtuple)的每个值并按原样传递给 print 函数的参数(它采用变量列表参数)。

    【讨论】:

    • 您需要更多解释吗?如果没有,我建议您投票并accept我的回答。
    【解决方案2】:

    如果您看一个包含列表的示例,可能会更容易理解。在这种情况下,i 是循环每次迭代的列表。使用简单的打印语句,输出将是整个列表。

    本示例中使用的* 告诉python 解压缩列表。这是一个绝妙的把戏。分隔符是可选的,但可用于插入制表符、换行符或您想要的任何其他分隔符。

    stuff = [['one', 'two', 'three'], ['four', 'five', 'six']]
    
    
    for i in stuff:
        print(i)
    
    
    for i in stuff:
        print(*i)
    

    输出:

    ['one', 'two', 'three']
    ['four', 'five', 'six']
    one two three
    four five six
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 2015-12-26
      • 2014-08-09
      • 1970-01-01
      • 2020-04-19
      相关资源
      最近更新 更多