Python-使用for循环将字符串列表转换为小写

Python-使用for循环将字符串列表转换为小写,python,Python,我正在尝试使用for循环将给定的字符串列表转换为它们的小写版本。我对Python和for循环的一般知识不是很了解,所以下面的代码是我和我在网上找到的代码的混合。它给出了一个错误“set_lowercase()接受1个位置参数,但给出了3个位置参数”,我如何解决这个问题?提前谢谢 def set_lowercase(strings): newList = [] for name in strings: newList.append(name.lower())

我正在尝试使用for循环将给定的字符串列表转换为它们的小写版本。我对Python和for循环的一般知识不是很了解,所以下面的代码是我和我在网上找到的代码的混合。它给出了一个错误“set_lowercase()接受1个位置参数,但给出了3个位置参数”,我如何解决这个问题?提前谢谢

def set_lowercase(strings):
    newList = []
    for name in strings:
        newList.append(name.lower())
    print(newList)    
而不是打电话

set_lowercase("A", "B", "C")
传递一个实际的iterable:

set_lowercase(("A", "B", "C"))

您可以使用列表理解

new_list = [a.lower() for a in l]
这样做,

 def set_lowercase(strings):
        newList = [a.lower() for a in strings]
        return newList

strings = set_lowercase(strings)  

如何调用此函数?需要演示如何调用函数
set\u lowercase()
。它应该是这样的:
set_lowercase(['aBC','dEF'])
我按照你的回答,将我的代码改为
dEF set_lowercase(strings):“将列表中的每个字符串替换为小写版本”“”strings=[a.lower()表示字符串中的a]打印(strings)
我用
set_lowercase(['aBC','dEF'])调用这个函数
但是我不认为这会用新列表(小写字符串)更新列表,因此两个列表都会打印出来。我做错了什么?为了进一步澄清,我用
strings=['Right',SAID',Fred']set\u小写(strings)print(strings)
测试我的代码,它打印
['Right',SAID',Fred']['Right',SAID',Fred']
问题是python变量的范围。打印有小写字母的stings来自函数,大写字母来自函数外部。尝试学习python中的作用域。为了快速修复,请在函数中添加返回字符串,然后执行以下操作:strings=set_lowercase(strings)能否请您将我的原始注释中的代码编辑成它应该是什么样子?由于缺乏经验和知识,我很难理解你说的话。非常感谢。