我正在尝试在列表中的单词中添加“”(),但由于某种原因,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'] 关于如何做的想法会被贬低!感谢
答案 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)
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 + ' '