Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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 连接字符串列表并删除Unicode前缀_Python_Python 2.7_Unicode - Fatal编程技术网

Python 连接字符串列表并删除Unicode前缀

Python 连接字符串列表并删除Unicode前缀,python,python-2.7,unicode,Python,Python 2.7,Unicode,我有这个输出 [u'JACK', u'', u'ROSE', u'', u'JANE'] 我想从列表的每个元素中删除unicode,并将它们连接到一个字符串中,如下所示: 输出: ['JACK ROSE JANE'] 在Python 2中,使用str函数将unicode字符串转换为普通字符串: >>> unicodeString = u'stuff' >>> normalString = str(unicodeString) >>> pr

我有这个输出

[u'JACK', u'', u'ROSE', u'', u'JANE']
我想从列表的每个元素中删除unicode,并将它们连接到一个字符串中,如下所示:

输出:

['JACK ROSE JANE']

在Python 2中,使用
str
函数将unicode字符串转换为普通字符串:

>>> unicodeString = u'stuff'
>>> normalString = str(unicodeString)
>>> print(unicodeString)
u'stuff'
>>> print(normalString)
'stuff'

以前的答案是完美的。只是想告诉你另一种方式:

result = [str(' '.join(filter(None, [u'JACK', u'', u'ROSE', u'', u'JANE'])))]
这就是在功能范式中如何做到的:) 看起来不错,是吗

实际上,你不需要担心“u”前缀。它只是让您(作为开发人员)知道字符串是用unicode表示的。 我添加了“str”来隐藏它(转换为ascii字符串),但实际上并不需要。请检查以下答案:
编程的方法有很多种。我喜欢这样:

output = str(" ".join(filter(None,[u'JACK', u'', u'ROSE', u'', u'JANE'])))
如果您需要列表:

output = [str(" ".join(filter(None,[u'JACK', u'', u'ROSE', u'', u'JANE'])))]

为了简单起见:

output = [' '.join([str(a) for a in [u'JACK', u'JANE', u'ROSE']])]
['JACK JANE ROSE']

在python2.7和python3.5中测试,通过在filter()调用中使用None,它删除了所有falsy元素。已经是@Andrey了

a = [u'JACK', u'', u'ROSE', u'', u'JANE']

c = [str(' '.join(filter(None, a)))]
print (c)
或者迭代并仅获取True项,这里的反参数是字符串运算符的可能性,o.lower,o.upper

b = [' '.join([o for o in a if o])]
print (b)

你为什么要摆脱美国?到目前为止,你尝试过什么?可能重复的注意“u”不是一个字符,它只是描述了“火花”。所以,不要看到<代码>的东西,你可以看到<>代码> u'Studio,因为字符串是Unicode字符串,但是它的内容仍然是“代码>文件,对于我来说,这是很重要的,因为我必须把结果复制到原始输入中,所以我不能认为U'我只是张贴了相同的内容:)
b = [' '.join([o for o in a if o])]
print (b)