在Python中,如何在列表和字符串之间留出一个空格?

2024-09-30 06:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在列表(猫的名字)和索引之间留一个空格

现在是这样的:

Pussy0
Pinky1
Fats2

我希望它像这样打印出来:

Pussy 0
Pinky 1
Fats 2
catNames = []
while True:
    print('Enter the name of cat ' + str(len(catNames) + 1) +
      ' (Or enter nothing to stop.):')
    name = input()
    if name == '':
        break
    catNames = catNames + [name]  # list concatenation
print('The cat names are:')
#for name in range(len(catNames)):
    #print(name)

for i in range(len(catNames)):
    print(catNames[i] + str(i))

Tags: namein列表forlenrange名字cat
3条回答

我建议对此使用字符串插值:

for i in range(len(catNames)):
    print(f"{catNames[i]} {i}")

尝试设置字符串格式:

catnames = ['Fuzzy', 'Pinky', 'Fats']

for i, cname in enumerate(catnames):
    print('{} {}'.format(cname, str(i)))

只要这样做:

catNames = []
while True:
    print('Enter the name of cat ' + str(len(catNames) + 1) +
      ' (Or enter nothing to stop.):')
    name = input()
    if name == '':
        break
    catNames = catNames + [name]  # list concatenation
print('The cat names are:')
#for name in range(len(catNames)):
    #print(name)

for i in range(len(catNames)):
    print(catNames[i] + " " + str(i))

尽管使用f-stringformat总是更好:

catNames = []
while True:
    print('Enter the name of cat ' + str(len(catNames) + 1) +
      ' (Or enter nothing to stop.):')
    name = input()
    if name == '':
        break
    catNames = catNames + [name]  # list concatenation
print('The cat names are:')
#for name in range(len(catNames)):
    #print(name)

for i in range(len(catNames)):
    print(f"{catNames[i]} {str(i)}")

使用f-string可以使代码更清晰、更易于理解。查看here了解更多详细信息。请注意,f字符串仅适用于Python3.6或更高版本。如果您有低于3.6的python版本,请查看myprevious answer,了解如何在低于3.6的python中使用f字符串

相关问题 更多 >

    热门问题