Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python剥离字符并组合列表对象_Python_Python 3.x_List_Append_Strip - Fatal编程技术网

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
结果=[]
当指数
基本上,这些步骤是:

  • 创建一个名为index的变量,即对中第一项的索引
  • 创建一个名为result的变量,该变量将作为结果列表
  • 进入一个while循环,循环遍历索引并追加每对索引,然后将它们剥离
  • 由于向结果列表中添加了2个变量,因此将索引变量增加2

  • 您的方法是正确的,但当您对列表中的项使用时,项只是一个临时变量,它不会对原始列表产生任何影响。您应该使用这样的索引

    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)