python - 为什么这个 Python 转换对于 map 和没有 map 的行为不同

标签 python string dictionary casting int

当从 int 到 string 的两次强制转换看起来做同样的事情时,为什么这两个 print 语句产生不同的结果?我错过了什么?

board 是一个整数列表

#ex.1
print ' '.join(map(str, board[:3]))
#ex.2
print ' '.join(str(board[:3]))

#out.1
0 1 2
#out.2
[ 0 ,   1 ,   2 ]

最佳答案

print(" ".join(map(str, board[:3])))

将切片的 board 的每个项目映射到一个文字整数并用空格连接它(可能是你想要的,也是正确的做法)

print(' '.join(str(board[:3])))

list 转换为它的表示(包括方括号和所有内容),然后在每个字符之间插入一个空格。不是你想要的。

关于python - 为什么这个 Python 转换对于 map 和没有 map 的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44880909/

相关文章:

python - 除了循环之外还有其他方法可以从任何序列数据(Python)更新字典吗?

python - 绘制透明并单击所有窗口顶部的文本

javascript - 使字符串驼峰式命名的函数

java - 如何在Java中有效地删除XML字符串中的直接标签

c - 如何在C中动态扩展一个字符串

java - Hibernate 映射 - 通过表进行映射

python - 在多处理中通过键访问字典中的值

python - 为什么我会收到一个显示 "takes no arguments (1 given)"的 TypeError?

python - 如何在Python中绘制y轴为 "total of y values corresponding to each x bin"、x轴为n个x的直方图?

python - 使用 pandas 数据框标记 matplotlib.pyplot.scatter