myList = [ 4,'a', 'b', 'c', 1 'd', 3]
如何将这个列表分成两个列表,一个包含字符串,另一个包含 优雅/Pythonic 方式的整数?
输出:
myStrList = [ 'a', 'b', 'c', 'd' ]
myIntList = [ 4, 1, 3 ]
注意:没有实现这样的列表,只是想过如何找到这样一个问题的优雅答案(有吗?)。
原文由 ayyayyekokojambo 发布,翻译遵循 CC BY-SA 4.0 许可协议
myList = [ 4,'a', 'b', 'c', 1 'd', 3]
如何将这个列表分成两个列表,一个包含字符串,另一个包含 优雅/Pythonic 方式的整数?
输出:
myStrList = [ 'a', 'b', 'c', 'd' ]
myIntList = [ 4, 1, 3 ]
注意:没有实现这样的列表,只是想过如何找到这样一个问题的优雅答案(有吗?)。
原文由 ayyayyekokojambo 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用列表理解:-
>>> myList = [ 4,'a', 'b', 'c', 1, 'd', 3]
>>> myIntList = [x for x in myList if isinstance(x, int)]
>>> myIntList
[4, 1, 3]
>>> myStrList = [x for x in myList if isinstance(x, str)]
>>> myStrList
['a', 'b', 'c', 'd']
原文由 Rohit Jain 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
正如其他人在评论中提到的那样,您真的应该开始考虑如何首先摆脱包含非同质数据的列表。但是,如果真的 _做不到_,我会使用 defaultdict: