![](/img/trans.png)
[英]How to make all lists in a list of lists the same length by adding to them
[英]How to automatically add the character _ into a string or list which is input by a user to make 2 lists the same length
string1 = str(input("STRING 1: "))
string2 = str(input("STRING 2: "))
difference = 0
print(string1)
print(string2)
for i in string2:
if len(string1) < len(string2):
difference = len(string2) - len(string1)
difference = difference*"-"
string2 = string2.append(difference)
for i in string1:
if len(string2) < len(string1):
difference = len(string1) - len(string2)
difference = difference*"-"
string1 = string1.append(difference)
print(string1)
print(string2)
#for循环查找最长的字符串#以及字符串长度的区别#将字符“-”附加到shoter字符串的末尾以使2个字符串的长度相同#例如。 约翰琼斯#玛丽-----
无需用于。
append 是列表的 function。
您应该声明一个列表。
或者你使用 +=。
string1 = str(input("STRING 1: "))
string2 = str(input("STRING 2: "))
difference = 0
result_list = list()
if len(string1) < len(string2):
difference = len(string2) - len(string1)
difference = difference * "-"
string1 += difference
result_list.append(string2 + difference)
if len(string2) < len(string1):
difference = len(string1) - len(string2)
difference = difference * "-"
string2 += difference
result_list.append(string2 + difference)
print(result_list)
print(string1)
print(string2)
这是其中一种方法:
string1 = str(input("STRING 1: "))
string2 = str(input("STRING 2: "))
difference = 0
print(string1)
print(string2)
if len(string1) < len(string2):
difference = len(string2) - len(string1)
for i in range(difference):
string1 +="-"
elif len(string2) < len(string1):
difference = len(string1) - len(string2)
for i in range(difference):
string2 +="-"
print(string1)
print(string2)
string1 = str(input("STRING 1: "))
string2 = str(input("STRING 2: "))
difference = 0
print(string1)
print(string2)
for i in string2:
if len(string1) < len(string2):
difference = len(string2) - len(string1)
difference = difference * "-"
string1 = string1 + difference
for i in string1:
if len(string2) < len(string1):
difference = len(string1) - len(string2)
difference = difference * "-"
string2 = string2 + difference
print(string1)
print(string2)
使用字符串格式化和 max 函数,我们可以动态地“填充”较短的字符串:
string1 = "johnjones"
string2 = "mary"
strList = [string1, string2]
print("{:-<{}}".format(string1, len(max(strList, key=lambda x: len(x)))))
print("{:-<{}}".format(string2, len(max(strList, key=lambda x: len(x)))))
#Output: johnjones
#Output: mary-----
变量string1
和string2
没有使用上面的代码更改,只是它们在 output 中的表示。
您可以在此处阅读有关字符串格式化语法的更多信息。
但是,这是对上述代码中不同部分含义的简短解释:
{}
是一个replacement-field
,这是str.format
方法尝试将其变量输入的位置。:
放置在replacement-field
内的称为format-specifier
,它告诉str.format
如何处理变量。-
表达式中的{:-<{}}
是格式中应该使用的fill
字符。<
是字符串的文本对齐方式。 <
表示文本锚定在左侧, >
锚定在右侧, ^
表示文本居中。{:-<{}}
{}
的 {} 只是另一个replacement-field
,将由str.format
填充,但是在这种情况下,它指的是变量的width
。我不知道为什么要提到列表,但是,据我所知,你可以这样做:
delta = len(str1) - len(str2)
if delta < 0:
str1 += '_'*abs(delta)
else:
str2 += '_'*abs(delta)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.