在 python 中将包含空格的字符串与不包含空格的数组分开

Seperate strings from array that have whitespace from those that dont have whitespaces in python

我有一个包含字符串的数组,我想创建 2 个新数组,第一个数组将包含第一个列表中包含空格的项,第二个数组包含不包含空格的项:

array = ["something", "something with space", "something2", "something with space 2"]

第一个:

noWhitespaceCharacters = ["something", "something2"]

第二个:

hasWhitespaceCharacters = ["something with space", "something with space 2"]

只需要在关键字

中检查是否有白色space
array = ["something", "something with space", "something2", "something with space 2"]
nows=[i for i in array if " " in i]
ws = [i for i in array if " " not in i]

nows表示没有白色space,ws表示白色space

你可以尝试拆分每个单词。 .split() 方法的基本运算符确实是空格。如果字符串被细分为更多部分,则意味着它包含空格。

no_white  = []
white = []

for val in array:
    if len(val.split()) > 1:
        white.append(val)
    else:
        no_white.append(val)

我假设 第一个数组将包含第一个列表中包含空格的项,而第二个数组包含不包含空格的项 优先于您的示例。您可以按照

的方式使用 set 算术和内置 string 模块
import string
ws = set(string.whitespace)
arr = ["something", "something with space", "something2", "something\n\with\nnewline"]
without_ws = [i for i in arr if not ws.intersection(i)]
with_ws = [i for i in arr if ws.intersection(i)]

说明:.interesction提供通用元素