Python3.5.2在地图对象上连接,太奇怪了
是否不应将连接用于贴图对象? 是否不应将联接用于由映射创建的列表Python3.5.2在地图对象上连接,太奇怪了,python,dictionary,join,Python,Dictionary,Join,是否不应将连接用于贴图对象? 是否不应将联接用于由映射创建的列表 Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> a = map(lambda x:x[1], [('11', '22'), ('22',
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> a = map(lambda x:x[1], [('11', '22'), ('22', '33'), ('33', '44')])
>>> list(a)
['22', '33', '44']
>>> '.'.join(a)
''
>>> ''.join(list(a))
''
>>> ''.join(['22', '33', '44'])
'223344'
>>>
列表(a)
使用map
对象中的项目。因此,当您随后再次尝试访问这些项目时(例如,使用”。.join(a)
映射对象为空。这就是join
返回空字符串的原因
您可以在映射上调用join()
:
>>> a = map(lambda x:x[1], [('11', '22'), ('22', '33'), ('33', '44')])
>>> '.'.join(a)
'22.33.44'
>>> '.'.join(a)
''
但是一旦它被使用,就这样了,所以第二个join()
就不能像您预期的那样工作了
您可以将列表(a)
的结果绑定到一个变量,然后在以后再次使用该变量:
>>> a = map(lambda x:x[1], [('11', '22'), ('22', '33'), ('33', '44')])
>>> l = list(a)
['22', '33', '44']
>>> '.'.join(l)
'22.33.44'