如何从同一行的两个列表中打印项目?

时间:2019-02-06 01:10:02

标签: python python-3.x

对python来说真的是新的,从今天开始。我从txt列表中获得了动词和名词的列表,将它们装入其中,并试图从列表中的特定位置一起打印名词和动词。如何使它们在同一行上打印?它们被打印在不同的行上。

这是我的代码:

    f = open('/User/Desktop/Python/nouns/2syllablenouns.txt', 'r')
nouns = []
for l in f:
    nouns.append(l)

f = open('/User/Desktop/Python/verbs/2syllableverbs.txt', 'r')
verbs = []
for l in f:
    verbs.append(l)

print(nouns[1] + verbs[1])

2 个答案:

答案 0 :(得分:1)

您可以使用zip方法迭代多个可迭代对象。

示例

data1 = ["a", "b", "c"]
data2 = ["d", "e", "f"]
for a, b in zip(data1, data2):
    print("a: {0}, b: {1}".format(a, b))

返回

a:a,b:d a:b,b:e a:c,b:f

答案 1 :(得分:1)

从文件读取行包括结尾的换行符。因此,列表中的每个名词看起来都像“名词\ n”。在打印名词时,由于名词的末尾包括新行,因此使动词位于下一行。您要做的就是删除尾随的换行符。

要删除结尾的换行符,请使用rstrip()。

for l in f:
    nouns.append(l.rstrip())

有关rstrip的更多详细信息,请参见此答案。 https://stackoverflow.com/a/275025/6837080