从列表中返回小写字符串,而不事先返回值

时间:2017-03-23 05:26:33

标签: python

我需要获取字符串列表并将它们全部返回小写,而不返回值。所以计算机会为输入

执行此操作
strings = ['Right', 'SAID', 'Fred']
set_lowercase(strings)
print(strings)

并想要答案

['right', 'said', 'fred']   

这是我的代码,我可以在输入打印之前给出正确的答案,但是如果我删除了我的最终退货声明或打印。然后当计算机进行打印时,它只会打印

的原始输入
['Right', 'SAID', 'Fred']

我的代码:

def set_lowercase(strings):
    """takes list of strings and converts to lowercase"""
    result = []
    strings_str = ' '.join(strings)
    for i in strings_str:
        strings_low = strings_str.lower()
        new_strings = str.lower(strings_low)
        strings = new_strings.split()
        return strings

我知道它有点乱,我有更干净的版本,我只是尝试我能想到的所有其他版本,但仍然收到同样的问题。

编辑:我稍微清洁的版本。

def set_lowercase(strings):
    """takes list of strings and converts to lowercase"""
    my_list = strings
    lower_string = str.lower(' ' .join(my_list))
    return lower_string.split()

3 个答案:

答案 0 :(得分:0)

尝试:

def set_lowercase(strings):
    for i in range(len(strings)):
        strings[i] = strings[i].lower()

答案 1 :(得分:0)

您可以尝试此功能。

def set_lowercase(strings):
    return [string.lower() for string in strings]

答案 2 :(得分:0)

无需返回,strings[:]更新列表:

def set_lowercase(strings):
    strings[:] = [string.lower() for string in strings]

strings = ['Right', 'SAID', 'Fred']
set_lowercase(strings)
print(strings) 

这将显示:

['right', 'said', 'fred']