Name_list = [
['Name 1', 'Name 2', 'Name 3']
]
Name = 'Name 3'
if Name == 'any name in the list':
print('Name is in the list')
如何检查“名称 3”是否在列表中?
当列表看起来像这样时:
list_1 = [
['Name 1'],
['Name 2'],
['Name 3']
]
Name_list = [
['Name 1', 'Name 2', 'Name 3']
]
Name = 'Name 3'
if Name == 'any name in the list':
print('Name is in the list')
如何检查“名称 3”是否在列表中?
当列表看起来像这样时:
list_1 = [
['Name 1'],
['Name 2'],
['Name 3']
]
在这两种情况下,使用列表推导
来展平您搜索的列表列表,从而将其转换为普通列表(in
用于搜索name
):
name = 'Name 3'
list_1 = [
['Name 1', 'Name 2', 'Name 3']
]
if name in [item for sublist in list_1 for item in sublist]:
print('Name is in the list')
list_1 = [
['Name 1'],
['Name 2'],
['Name 3']
]
if name in [item for sublist in list_1 for item in sublist]:
print('Name is in the list')
请注意,正如MisterMiyagi在评论中提到的那样,您也可以使用set comprehension:
if name in {item for sublist in list_1 for item in sublist}:
print('Name is in the list')
或者您可以使用生成器表达式:
if name in (item for sublist in list_1 for item in sublist):
print('Name is in the list')
在某些情况下,例如大型列表或具有许多重复项的列表,这些可能比列表理解更快和/或更节省内存。
也可以看看:
Name = ''
Name_list = []
Name_list_v2 = []
if len(Name_list)==1:
Name_list_v2=Name_list[0]
elif len(Name_list)>1:
for names in Name_list:
Name_list_v2.append(names[0])
else:
print("Input formatted incorrectly")
for names in Name_list_v2:
if names == Name:
print("Name is in the list.")
else:
print("Name is not in the list")
逐行描述发生的情况:
Name
变量[['Name 1', 'Name 2', 'Name 3']]
或者[['Name 1'], ['Name 2'], ['Name 3']]
(您不必使用三个变量)Name_list_v2
,它最终都会被格式化['Name 1', 'Name 2', 'Name 3']
[['Name 1', Name 2', 'Name 3']]
,如果将其转换为['Name 1', 'Name 2', 'Name 3']
[['Name 1'], ['Name 2'], ['Name 3']]
,如果是,则将其更改为['Name 1', 'Name 2', 'Name 3']
Names_list_v2
,并打印响应。利用
if Name in Name_list[0]:
print(Name)
这Name_list[0]
是因为,您正在列表中创建一个列表。因此, Name_list 在其中包含一个列表。如果要访问 Name_list 中的列表,则必须使用列表索引运算符。
利用any
if any(Name in sublist for sublist in Name_list):
print('Name is in the list')