Python剥离字符并组合列表对象
我有一个庞大的列表,看起来与此类似:Python剥离字符并组合列表对象,python,python-3.x,list,append,strip,Python,Python 3.x,List,Append,Strip,我有一个庞大的列表,看起来与此类似: ['red.color\xa0', '2020-11-27\xa0', 'green.color\xa0', '2020-11-27\xa0', 'blue.color\xa0', '2020-11-27\xa0'] 我正试图找出如何去掉\xa0字符,以及如何组合每两个列表项,因此它最终会像: [['red.color', '2020-11-27'], ['green.color', '2020-11-27'], ['blue.color', '202
['red.color\xa0', '2020-11-27\xa0', 'green.color\xa0', '2020-11-27\xa0', 'blue.color\xa0', '2020-11-27\xa0']
我正试图找出如何去掉\xa0
字符,以及如何组合每两个列表项,因此它最终会像:
[['red.color', '2020-11-27'], ['green.color', '2020-11-27'], ['blue.color', '2020-11-27']]
我试过了,但失败得很惨:
for data in ugly:
data = data.strip("\xa0")
至于将其他所有列表项合并到一个新列表中,那么,如果我在上述方面失败,你可能会猜到我会因此而崩溃。我想你在寻找这样的东西:
list1 = ['red.color\xa0', '2020-11-27\xa0', 'green.color\xa0', '2020-11-27\xa0', 'blue.color\xa0', '2020-11-27\xa0']
list2 = [x.replace("\xa0", "") for x in list1]
new_list = list()
for x in range(0, len(list2), 2):
new_list.append([list2[x], list2[x+1]])
print(new_list)
值=['red.color\xa0','2020-11-27\xa0','green.color\xa0','2020-11-27\xa0','blue.color\xa0','2020-11-27\xa0']
索引=0
结果=[]
当指数
基本上,这些步骤是:
您的方法是正确的,但当您对列表中的项使用时,项只是一个临时变量,它不会对原始列表产生任何影响。您应该使用这样的索引
l = ['red.color\xa0', '2020-11-27\xa0', 'green.color\xa0', '2020-11-27\xa0', 'blue.color\xa0', '2020-11-27\xa0']
for i in range(len(l)):
l[i] = l[i].strip("\xa0")
l2 = []
for i in range(0,len(l),2):
l2.append([l[i], l[i+1]])
print(l2) #[['red.color', '2020-11-27'], ['green.color', '2020-11-27'], ['blue.color', '2020-11-27']]
\xa0
实际上是不间断的空格。使用以下方法替换它:
现在,使用以下方法组合列表中的每2个元素:
要删除'\xa0'部分,可以使用
string.replace('\xa0',“”)
方法。
然后,您必须以2的步长范围遍历列表,并将当前元素与下一个元素配对。
您的代码可能看起来像这样:
list1 = ['red.color\xa0', '2020-11-27\xa0', 'green.color\xa0', '2020-11-27\xa0', 'blue.color\xa0', '2020-11-27\xa0']
list2 = [x.replace("\xa0", "") for x in list1]
new_list = list()
for x in range(0, len(list2), 2):
new_list.append([list2[x], list2[x+1]])
print(new_list)
分配给循环变量不会修改正在循环的内容。请尝试
丑陋=[data.strip(“\xa0”)以获取丑陋的数据]
?@user2357112supportsMonica:我想知道,但我也尝试在那里组合东西,所以可能这就是我循环它的原因。我想把它解开,但不幸的是,它就在atm机里。谢谢你的帮助,这个解决方案很有效,尽管我决定用另一个答案,因为它很简单。谢谢你的帮助,这个解决方案很有效,虽然我决定用另一个答案,因为它很简单。很难在你的答案和我选择接受的答案之间做出决定,很好的解决方案,谢谢你的帮助!
list1 = ['red.color\xa0', '2020-11-27\xa0', 'green.color\xa0', '2020-11-27\xa0', 'blue.color\xa0', '2020-11-27\xa0']
list2 = [x.replace("\xa0", "") for x in list1]
new_list = list()
for x in range(0, len(list2), 2):
new_list.append([list2[x], list2[x+1]])
print(new_list)