在列表中的单词内添加空格

时间:2016-03-22 14:12:22

标签: python python-2.x

我正在尝试在列表中的单词中添加“”(),但由于某种原因,python不允许在列表中使用ljust并且它给了我这个错误:

  

''list'对象没有属性'ljust''

我的代码:

spaced = []
sliced = ['text', 'text']
def spacer(sliced):
    for slice in sliced:
        print spacer
        # finds the word length
        lol = len(slice)
        lal = spaced.ljust(lol + 1)
        print lol
        spaced.append(slice)
        print spaced

我需要输出的内容: 切片= ['text','text'] 关于如何做的想法会被贬低!感谢

5 个答案:

答案 0 :(得分:2)

ljust()是字符串的方法。使用slice.ljust(lol+1)

sliced = ['text', 'text']
def spacer(sliced):
    result = []
    for slices in sliced:
        # finds the word length
        lol = len(slices)
        lal = slices.ljust(lol + 1)
        result.append(lal)
    return result

    #or you can you one-liner list comprehension instead of all of the above
    #return [word.ljust(len(word)+1) for word in sliced]

print spacer(sliced)

不是更改要迭代的列表,而是创建新列表并将其返回。

答案 1 :(得分:0)

使用list comprehensions

 sliced = [word+' ' for word in sliced] 

答案 2 :(得分:0)

快速解决方案:

def spacer(sliced):
    return [word+' ' for word in sliced]

答案 3 :(得分:0)

您可以使用列表理解:

def spacer(sliced)
    return [x.ljust(len(x)+1) for x in sliced]

或更简单:

def spacer(sliced)
    return [x+' ' for x in sliced]

使用函数中的方法可以:

sliced = ['text', 'text']
def spacer(sliced):
    spaced = []
    for slice in sliced:
        lol = len(slice)
        lal = slice.ljust(lol + 1)
        spaced.append(lal)
    return spaced

print spacer(sliced)

答案 4 :(得分:0)

在字符串末尾添加空格就像使用+

一样简单
string = 'a'
new_string = string + ' '

所以你只需要迭代列表中的每个项目并附加空格:

for string in sliced:
    print string + ' '

因此可以创建一个包含简单列表理解的新列表

new_sliced = [slice + ' ' for slice in sliced]

或者,如果您想更改sliced列表,可以使用枚举内置来获取列表中每个元素的索引

for i, slice in enumerate(sliced):

    sliced[i] = slice + ' '