在这段代码中,_after 的含义是什么for?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
Run Code Online (Sandbox Code Playgroud) 我正在尝试将列表映射到十六进制,然后在其他地方使用列表.在python 2.6中,这很简单:
答: Python 2.6:
>>> map(chr, [66, 53, 0, 94])
['B', '5', '\x00', '^']
Run Code Online (Sandbox Code Playgroud)
但是,在Python 3.1中,上面返回了一个map对象.
B: Python 3.1:
>>> map(chr, [66, 53, 0, 94])
<map object at 0x00AF5570>
Run Code Online (Sandbox Code Playgroud)
如何在Python 3.x上检索映射列表(如上面的A中所示)?
或者,有更好的方法吗?我的初始列表对象有大约45个项目,id喜欢将它们转换为十六进制.
primes = [2,3,5,7..] (prime numbers)
map(lambda x:print(x),primes)
Run Code Online (Sandbox Code Playgroud)
它不打印任何东西.这是为什么?我试过了
sys.stdout.write(x)
Run Code Online (Sandbox Code Playgroud)
也是,但也不起作用.
对于正常功能,map效果很好:
def increment(n):
return n+1
l = [1, 2, 3, 4, 5]
l = map(increment, l)
print l
>>> [2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
但是,如果它print被放入map函数内:
l = [1, 2, 3, 4, 5]
l = map(print, l)
print l
Run Code Online (Sandbox Code Playgroud)
python会抱怨:
l = map(print, l)
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
有什么print特别的?不print(x)也是一个有效的函数调用?上面的代码在python 2.7下测试.