Python 删除str列表中的空白
我要删除列表a中的“”,并返回以下列表:Python 删除str列表中的空白,python,python-3.x,Python,Python 3.x,我要删除列表a中的“”,并返回以下列表: a = ['bb', '', '', '', 'cc'] 到目前为止,我有以下代码: a = ['bb', 'cc'] 它给了我相同的输出: new_a = [] for item in a: if item != '': new_a.extend(item) 但我想: new_a = ['b', 'b', 'c', 'c'] 如何在不使用任何其他模块的情况下修改现有代码以获得新的_a=['bb','cc'] new_a = [
a = ['bb', '', '', '', 'cc']
到目前为止,我有以下代码:
a = ['bb', 'cc']
它给了我相同的输出:
new_a = []
for item in a:
if item != '':
new_a.extend(item)
但我想:
new_a = ['b', 'b', 'c', 'c']
如何在不使用任何其他模块的情况下修改现有代码以获得新的_a=['bb','cc']
new_a = ['bb', 'cc']
从a
中选取每个元素,如果它的计算结果为“truthy”。。。如果您希望显式地只包含非空字符串,则可以使用:
new_a = [el for el in a if el]
或者,将现有代码更改为使用append
(在列表末尾添加一个新的元素)而不是extend
(在列表末尾添加一个iterable项目-'bb'是两个项目-因此分别得到b
和b
):
使用列表组件:
new_a = ['bb', 'cc']
从a
中选取每个元素,如果它的计算结果为“truthy”。。。如果您希望显式地只包含非空字符串,则可以使用:
new_a = [el for el in a if el]
或者,将现有代码更改为使用append
(在列表末尾添加一个新的元素)而不是extend
(在列表末尾添加一个iterable项目-'bb'是两个项目-因此分别得到b
和b
):
另一个解决问题的选项,
'
是一个长度为零的字符串对象,因此您可以使用列表理解中的过滤器仅获取len>0的字符串
new_a = []
for item in a:
if item != '':
new_a.append(item)
或
另一个解决问题的选项,
'
是一个长度为零的字符串对象,因此您可以使用列表理解中的过滤器仅获取len>0的字符串
new_a = []
for item in a:
if item != '':
new_a.append(item)
或
如果您有“.append”而不是“.extend”,那么您的代码就可以运行了。Extend使用另一个序列扩展列表,它将“bb”解释为两个“b”字符的序列。Append将“bb”视为一个值。如果您有“.Append”而不是“.extend”,那么您的代码就会工作。Extend使用另一个序列扩展列表,它将“bb”解释为两个“b”字符的序列。Append将“bb”视为一个值。这是一个有效的解决方案,但不如Jon Clements显示的列表理解优雅。这是一个有效的解决方案,但不如Jon Clements显示的列表理解优雅。