Python 如何切换字符串
这就是我尝试过的:Python 如何切换字符串,python,python-3.x,Python,Python 3.x,这就是我尝试过的: for i in range(len(list1)): if str(list2[0]) == list1[i][0]: list1.remove(str(list2[0])) print(list1) 您没有一致地操作内部列表-您的外部列表不包含字符串apple。您试图从列表1中删除apple: 输出: [['bd', 'go', 'd', 'e'], ['bd', 'e', 'd', 'go'], ['go', 'd', 'e', 'bd'],
for i in range(len(list1)):
if str(list2[0]) == list1[i][0]:
list1.remove(str(list2[0]))
print(list1)
您没有一致地操作内部列表-您的外部列表不包含字符串apple。您试图从列表1中删除apple: 输出:
[['bd', 'go', 'd', 'e'], ['bd', 'e', 'd', 'go'], ['go', 'd', 'e', 'bd'],
['d', 'bd', 'go', 'e'], ['e', 'go', 'bd', 'd']]
如果要创建新的,请按以下方式操作:
no_apple = []
for inner in list1:
# filter inners with list comprehension, expluce list2[0]
no_apple.append([i for i in inner if i != list2[0]])
print(no_apple)
是否有创建新列表的限制 您可以为list1中的每个列表创建一个新列表,并将它们附加到一个新列表中
answer = []
for inside_list in list1:
new_inside_list = [value for value in inside_list if value not in list2]
answer.append(new_inside_list)
这将删除列表1中出现的列表2的每个元素
注意,列表中的新列表可能会导致空列表。只需在附加到答案之前检查它是否为空列表2与问题有什么关系?你只是删除了“苹果”不?此外,当您应该从列表1中删除[i]而不使用AppleList=[[item if subitem!=apple]时,您正在从列表1中删除[i]
no_apple = []
for inner in list1:
# filter inners with list comprehension, expluce list2[0]
no_apple.append([i for i in inner if i != list2[0]])
print(no_apple)
answer = []
for inside_list in list1:
new_inside_list = [value for value in inside_list if value not in list2]
answer.append(new_inside_list)