将字符串列表转换为小写会将单词分解为字符



我有一个句子列表,如下所示:约8000个元素的CCD_ 1。

我想将上面的列表转换为lowercase。我尝试使用以下行:

my_list = [x.lower() for x in my_list]

但这给出了一个错误:

属性错误:"int"对象没有属性"lower"

所以我做了以下操作以确保所有元素都被视为字符串:

my_list = [x.lower() for x in str(my_list)]

这将返回小写,但将每个单词分解为单独的字符?

['[',
"'",
'b',
'u',
's',
'i',
'n',
'e',
's',
's',
' ',
'w',
'o',
'r',
'l',
'd',
' ',
'-',

我做错了什么?

str(my_list)将列表对象序列化为单个字符串对象。对字符串进行迭代将生成该序列化中的每一个字符。

您可能想要的是将每个元素转换为一个字符串(很明显,在样本之外还有数字(,并将其小写。

lower_list = [str(x).lower() for x in my_list]

原因是列表中的某个地方有整数,所以需要对它们进行字符串化。

试试这个:

my_list = [str(x).lower() for x in my_list]

最新更新