首页 > 解决方案 > Python在从元组打印索引时添加新行

问题描述

我正在尝试从同一行的两个单独的元组中打印两个单独的索引。但是当我使用 f-strings 打印时,它会将我打印的第二个索引放在新行上。

无论我尝试什么,似乎都无法弄清楚它总是在新行上打印姓氏。

surnames = tuple(open("Surnames.txt", "r"))
first_names_male = tuple(open("Male_names.txt", "r"))
first_names_female = tuple(open("Female_names.txt", "r"))

print(f"{first_names_male[0]} {surnames[0]}")

应该在一行上打印出“David Smith”

相反,它在第一行显示大卫,然后在下一行有一个空格,然后是史密斯

标签: pythonpython-3.xtuples

解决方案


您可以使用这样的代码从文件中每一行的末尾删除新行并显式关闭文件:

with open("Surnames.txt", "r") as f:
    surnames = f.read().splitlines()
with open("Male_names.txt", "r") as f:
    first_names_male = f.read().splitlines()
with open("Female_names.txt", "r") as f:
    first_names_female = f.read().splitlines()

print(f"{first_names_male[0]} {surnames[0]}")

或者如果您愿意,可以这样做:

with open("Surnames.txt", "r") as f:
    surnames = map(str.rstrip, f)
    # or
    surnames = [r.rstrip('\n') for r in f]

有关更多选项,请参阅https://stackoverflow.com/a/12330535/3830997


推荐阅读