从 python 中的枚举列表打印
Print from enumerated list in python
我导入了一个文档。这些项目显示在列表中。我还从用户那里获取了输入,它告诉我该输入在列表中的位置。
如何打印出列表的那一行以及列表中该行上方和下方的项目?在我的列表中,我有 actor
、name of movie
、year
和 role the actor played
。中间一行是年份,所以我让用户搜索它,它应该打印出电影的标题和他们扮演的角色。
tom = open("TomHanks.txt", "r")
hanksYear = (input('What year would you like to see Tom Hanks movies?'))
hanksRead = tom.readlines()
with open("TomHanks.txt", "r") as f:
hanksArray = f.read().splitlines()
for i in [i for i, x in enumerate(hanksArray) if x == hanksYear]:
print(i)
print(i)
给我弹出列表中那一年的数字。如果它在那里两次,它会给我两个年份弹出的位置。我想打印那一年,然后打印列表中该项目上方和下方的位置。
您的快速解决方案是
for i in [i for i, x in enumerate(hanksArray) if x == hanksYear]:
print("\n".join(hanksArray[i-1:i+2]))
无论如何,您的代码还有许多其他问题
这看起来干净多了。
for line,val in enumerate(hanksArray):
if val == hanksYear:
print(hanksArray[line-1])
print(val)
print(hanksArray[line+1])
将解决方案单独写在答案中,以方便其他人阅读。
for i in [i for i, x in enumerate(hanksArray) if x == hanksYear]:
print(hanksArray[i-1])
print(hanksArray[i])
print(hanksArray[i+1])
我导入了一个文档。这些项目显示在列表中。我还从用户那里获取了输入,它告诉我该输入在列表中的位置。
如何打印出列表的那一行以及列表中该行上方和下方的项目?在我的列表中,我有 actor
、name of movie
、year
和 role the actor played
。中间一行是年份,所以我让用户搜索它,它应该打印出电影的标题和他们扮演的角色。
tom = open("TomHanks.txt", "r")
hanksYear = (input('What year would you like to see Tom Hanks movies?'))
hanksRead = tom.readlines()
with open("TomHanks.txt", "r") as f:
hanksArray = f.read().splitlines()
for i in [i for i, x in enumerate(hanksArray) if x == hanksYear]:
print(i)
print(i)
给我弹出列表中那一年的数字。如果它在那里两次,它会给我两个年份弹出的位置。我想打印那一年,然后打印列表中该项目上方和下方的位置。
您的快速解决方案是
for i in [i for i, x in enumerate(hanksArray) if x == hanksYear]:
print("\n".join(hanksArray[i-1:i+2]))
无论如何,您的代码还有许多其他问题
这看起来干净多了。
for line,val in enumerate(hanksArray):
if val == hanksYear:
print(hanksArray[line-1])
print(val)
print(hanksArray[line+1])
将解决方案单独写在答案中,以方便其他人阅读。
for i in [i for i, x in enumerate(hanksArray) if x == hanksYear]:
print(hanksArray[i-1])
print(hanksArray[i])
print(hanksArray[i+1])