我是python的新手,我知道下面的代码有一些非常错误的地方。你知道吗
name = 'spider-man'
movies = []
movieframe = ['Spider-Man 3\xa0', 'The Amazing Spider-Man\xa0', 'Spider-Man 2\xa0', 'The Amazing Spider-Man 2\xa0', 'Spider-Man\xa0', 'Spider-Man: Homecoming\xa0']
for i in movieframe:
if name.lower() == i.lower():
movies.append(name)
print('a', movies)
else:
movies.append(movieframe[0])
print('b', movies)
break
我想检查数据帧中是否存在确切的字符串,如果为真,则将其附加到另一个数据帧。但在上面的for循环中,“else”是在第一次迭代之后执行的。你知道吗
我该怎么纠正呢?你知道吗
如果要附加到另一个数据帧,请首先初始化它,然后在循环中附加内容
示例:
或者,如果您的目的只是创建一个输出数据帧,那么可以像在代码中那样创建并附加到列表中。一旦跳出for循环,就用在循环中创建的列表创建一个dataframe
根据您的代码,应该是这样的:
首先,您使用的是列表,而数据帧则完全不同。你知道吗
现在,为什么要使用\xa0?你知道吗
\xa0实际上是拉丁文1中的不间断空格,请使用u''或将其从movieframe中删除。你知道吗
或者您可以简单地使用
name='spiderman\xa0'
。你知道吗您得到了错误的答案,因为\xa0是
name
中不存在的附加字符。你知道吗可以使用正则表达式:
['spider-man 3\xa0','the amazing spider-man\xa0','spider-man 2\xa0','the amazing spider-man 2\xa0','spider-man\xa0','spider-man:homecomming\xa0']
相关问题 更多 >
编程相关推荐