繁体   English   中英

如何自动将字符 _ 添加到用户输入的字符串或列表中,以使 2 个列表的长度相同

[英]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-----

变量string1string2没有使用上面的代码更改,只是它们在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM