如何搜索嵌套列表,查找"a",然后将"b"("a"旁边的)分配给变量?



使用用户输入,我创建了一个嵌套列表

列表示例:[[a, 1], [b, 2], [c, 3]]

我的目标是找到"2"并将其赋值给一个变量,但只能用字母搜索。

我解决这个问题的方法是让用户通过索引输入字母变量,然后在索引中添加1。下面是我尝试解决这个问题的两种方法的更多示例:

total_list:[['chloe', '2018'], ['camille', '2002'], ['hannah', '1979']](个别列表为peep_list)

假设我想知道chloe是哪一年结婚的,所以我输入"chloe"。我试图在列表中搜索名称,然后向右移动一个位置并保存该值。

person1 = str(input("Enter the name of the first person you would like to compare: "))
index = 0
age1 = 0

示例/attempt 1:

for peep_list in total_list:
for person in peep_list:
index(person1)
age1 = index + 1

示例/attempt 2:

for peep_list in total_list: 
for person in peep_list:
if index == person1:
age1 = index + 1
else:
index = index +1

我接近这个正确吗?

编辑:我的目标是使用"列表逻辑">

您的list具有[[key, value],[key, value],...]格式,dict可以使用此格式转换list。通过转换为dict,您可以使用提供的名称作为键。

data = [['chloe', '2018'], ['camille', '2002'], ['hannah', '1979']]
db   = dict(data)
person = input("Enter the name of the first person you would like to compare: ")
print(db[person])

如果您只能使用"列表逻辑"来执行此操作,则以下是一种可能性。

data = [['chloe', '2018'], ['camille', '2002'], ['hannah', '1979']]
person = input("Enter the name of the first person you would like to compare: ")
for (name, year) in data:
if name == person:
print(f'{name} was married in {year}')
break

total_list由子列表组成。在每个子列表中,第一项是名称,第二项是年份。

因此,当您遍历total_list时,检查当前子列表中的第一项。如果它等于目标名称,那么打印(或赋值给另一个变量,或任何你喜欢的)子列表中的第二项。

name = 'chloe'
for sublist in total_list:
if sublist[0] == name:
print(name, 'was married in', sublist[1])

所以从技术上讲,你的方法是错误的,但你很接近。你似乎想从你的名单中寻找一个名字,并检索他们结婚的年份。使用Dictionary

可以更容易地完成此操作。
people_list = {} #here you are declaring an empty Dict
inputname = str(input("have the user input a name which will be used as the key in your dict"))
inputyear = str(input("have the user input a year which will be the value relating to the previous key "))
people_list[inputname] = inputyear

现在如果你想找到任何特定的人的年份,你可以这样做

name = str(input("now give the name of the person you want the year of marriage"))
print(f'{name}s year of marriage was {people_list[name]} ')
print(name,"s year of marriage was ",people_list[name])

相关内容

  • 没有找到相关文章

最新更新