Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用map从str转换为list_Python_Python 2.7_Python 3.x - Fatal编程技术网

如何在python中使用map从str转换为list

如何在python中使用map从str转换为list,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我做到了: >>>data="1,2,3,,4,51,,6" >>>list(map(int,map((lambda x:x.split(",")),map(lambda y:y,data.split(",,"))))) 我想得到:[1,2,3,4,51,6]您可以使用列表理解来拆分上的字符串,“如果字符不是无 >>> [int(i) for i in data.split(',') if i] [1, 2, 3, 4, 51, 6]

我做到了:

>>>data="1,2,3,,4,51,,6"

>>>list(map(int,map((lambda x:x.split(",")),map(lambda y:y,data.split(",,")))))

我想得到:
[1,2,3,4,51,6]
您可以使用列表理解来拆分
上的字符串,“
如果字符不是

>>> [int(i) for i in data.split(',') if i]
[1, 2, 3, 4, 51, 6]
如果您不想使用列表理解(我建议),可以使用
map
filter
,以牺牲可读性为代价

>>> list(map(int, filter(None, data.split(','))))
[1, 2, 3, 4, 51, 6]

您还可以使用
filter
过滤空字符串和
None
值,然后使用
map

>>> map(int, filter(None, data.split(',')))
[1, 2, 3, 4, 51, 6]

另一个解决办法可能是

print map(int,data.replace(",,",",").split(","))

编辑:这是针对您输入的特定数据的解决方案,因此不是针对不同类型数据的综合方法。最好指出。

我想使用没有循环的映射函数@奥瓦尤尼斯:为什么?这是最好的方法(列表理解得到了很好的优化,使用
map
,您不太可能获得任何性能优势,同时也牺牲了可读性)。您以前问过并删除过相同的问题吗?还是这是某门课程的作业?这是python课程的作业。这是哪门课程的作业?SCE学院的编程语言原理(python)