Python 列表 integrateUpper/Lowercase 检查?
Python list integrateUpper/Lowercase check?
我目前使用以下代码从数据框中 select 行:
list = ['3d block','3D Block','3D block','3d Block','cafe','Cafe']
data[data['description'].str.contains('|'.join(list))]
如您所见,我目前对 upper/lowercase 实施了不同的查询,因为我意识到“3d 打印”并不真正匹配所有相关项目。
是否可以改进或缩短上面的代码,以便列表包含 upper/lowercase 个字符的所有可能变体,包括一个和两个单词?
您可以使用 string.lower()
函数
将它们全部转换为更低的
让您的列表只包含小写字符。但是您也可以对此进行安全检查
my_list=['3d block', 'cafe']
# As karthik suggested, just to be safe, convert your list to lowercase
for i in range(len(my_list)):
my_list[i]=ele.lower()
my_query='3D bLoCk'
if my_query.lower() in my_list:
print('yes')
打印yes
您可以通过将 case
参数作为 False
:
传递来进行 case InSeNsitIvE 选择
lst = ['3D Block', 'cafe']
data[data['description'].str.contains('|'.join(lst), case=False)]
切记不要使用 list
作为名称,因为这会影响内置 list
函数,并使其在您的代码中无法使用。
参考:
我目前使用以下代码从数据框中 select 行:
list = ['3d block','3D Block','3D block','3d Block','cafe','Cafe']
data[data['description'].str.contains('|'.join(list))]
如您所见,我目前对 upper/lowercase 实施了不同的查询,因为我意识到“3d 打印”并不真正匹配所有相关项目。
是否可以改进或缩短上面的代码,以便列表包含 upper/lowercase 个字符的所有可能变体,包括一个和两个单词?
您可以使用 string.lower()
函数
让您的列表只包含小写字符。但是您也可以对此进行安全检查
my_list=['3d block', 'cafe']
# As karthik suggested, just to be safe, convert your list to lowercase
for i in range(len(my_list)):
my_list[i]=ele.lower()
my_query='3D bLoCk'
if my_query.lower() in my_list:
print('yes')
打印yes
您可以通过将 case
参数作为 False
:
lst = ['3D Block', 'cafe']
data[data['description'].str.contains('|'.join(lst), case=False)]
切记不要使用 list
作为名称,因为这会影响内置 list
函数,并使其在您的代码中无法使用。
参考: