我有以下列表1:
['mama', 'papa', 'jose']
我想在列表中每个元素的开头添加2个空格。 为此,我尝试了以下方法:
[x.rjust(2, ' ') for x in list1]
但是输出保持不变:
['mama', 'papa', 'jose']
所需的输出将是:
[' mama', ' papa', ' jose']
我做错了什么?
答案 0 :(得分:0)
对于rjust():
print([x.rjust(len(x) + 2) for x in ['mama', 'papa', 'jose']])
您需要通过len()来传递最终长度,以找到当前元素的长度ans,然后再加上2以得到2个空格。
另一个班轮:
print([" "+x for x in ['mama', 'papa', 'jose'] ])
或者您可以这样做:
arr = ['mama', 'papa', 'jose']
for i in range(len(arr)):
arr[i] = " " + arr[i]
print(arr)
请注意arr[i] = " " + arr[i]
会在列表的每个条目中添加空格
答案 1 :(得分:0)
似乎您误解了rjust
的功能(请检查docs)。如果只想在字符串中添加前缀,则可以使用f-strings( Python 3.6> ):
l = ['mama', 'papa', 'jose']
[f' {s}' for s in l]
# [' {}'.format(s) for s in l] for python 3.6<
[' mama', ' papa', ' jose']
答案 2 :(得分:0)
您可以使用map,lambda:
data = ['mama', 'papa', 'jose']
print (list(map(lambda x: " " + x, data)))
输出:
[' mama', ' papa', ' jose']
答案 3 :(得分:0)
尝试一下。
l = ['mama', 'papa', 'jose']
l = [" "+x for x in l]