Python2.7向lis添加unicode字符串

2024-09-27 23:17:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理两个包含unicode值的列表。我在比较一个列表中的值,看看这些值是否存在于第二个列表中。然后我尝试从第二个列表中获取匹配值,并将它们放入第三个列表中。当我试图打印第三个列表时,它返回'None'。我错过了什么?非常感谢您的反馈!在

# -*- coding: utf-8 -*-
import os

def GetFilepaths(directory):
    file_paths = []
    for root, directories, files in os.walk(directory):
        for filename in files:
            filepath = os.path.join(root, filename)
            file_paths.append(filepath)
    return file_paths

umlauts = [u'Ä', u'Ü', u'Ö', u'ä', u'ö', u'ü']
filePathsList = GetFilepaths(u'C:\\Scripts\\Replace Characters\\Umlauts')
filesWithUmlauts = []
for files in filePathsList:
    for umlaut in umlauts:
        if umlaut in files:
            filesUmlautPaths = filepathsUmlauts.append(files)
print filesUmlautPaths

Tags: in列表forosrootfilesfilenamedirectory
1条回答
网友
1楼 · 发布于 2024-09-27 23:17:00

这是因为append的返回类型是None

示例:

>>> filepathsUmlauts = []
>>> filepathsUmlauts.append(1)
>>> filepathsUmlauts
[1]
>>> x = filepathsUmlauts.append(2)
>>> x
>>> print x
None
>>> filepathsUmlauts
[1, 2]
>>> 

只需更换:

^{pr2}$

filepathsUmlauts.append(files)

代码中的另一个优化(我将让您自己解决)是使用^{}-这将消除嵌套的for循环。在

相关问题 更多 >

    热门问题