【发布时间】:2017-08-11 14:05:08
【问题描述】:
有什么区别
for i in list:
print(*i,sep="")
还有这个打印声明
for i in list:
print(i)
【问题讨论】:
有什么区别
for i in list:
print(*i,sep="")
还有这个打印声明
for i in list:
print(i)
【问题讨论】:
print(*i,sep="") 语句打印从 i 迭代中提取的所有值,不带任何分隔符。
print(I) 将打印 i 值。对于可迭代对象,它将打印每个值的字符串表示形式。
看看区别:
i = [1, 2, "hi"]
print(*i, sep="")
# -> 12hi
print(i)
# -> [1, 2, 'hi']
解释:
*i 语法称为“解包”:提取可迭代对象(list 或 tuple)的每个值并按原样传递给 print 函数的参数(它采用变量列表参数)。
【讨论】:
如果您看一个包含列表的示例,可能会更容易理解。在这种情况下,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
【讨论】: