Python。lis中基于选定变量的元素排序方法

2024-03-28 14:47:16 发布

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

我会找出列表中元素的顺序,它是根据任何变量选择的。你知道吗

我有变量:第一个是“用户”,其中是人的名字,第二个是“值”,其中是人的任何值(只是属于列表名称的值)。然后我创建了另一个变量,在这个变量中我选择,哪个元素将被打印到终端。 我在网上找到的变量“fer”,我不明白它在做什么。 我现在很困惑。我希望,这是可以理解的,问题在哪里。你知道吗

以下是任何代码:

users=['Peter', "Georgo", "Mike"]
values=[600, 700, 800]

print("Users: {}\nTheir Values: {}".format(users,values))

vstup=str(input("Choose the user: "))

if vstup == "Peter":
    val=values[0]
if vstup == str("Georgo"):
    val=values[1]
if vstup == "Mike":
    subs=str(values[2])

fer = list(filter(lambda x: vstup in x, users)) 
print("Selected: " + str(fer))
print("His value is: {}.".format(values[0]))

Tags: format元素列表ifvaluserspetermike
2条回答

你是在找“彼得”还是“乔治”在名单上?是这样使用.count方法吗

count = users.count(vstup)
print(count)

这将把它们的位置打印为基0

如果您希望根据位置打印正确的值,只需

print(val)

当你在if语句中设置它们时

您可以直接使用index函数,因此ind = users.index('Mike')是2,values[ind]是800。你知道吗

你应该看看字典。它们更合身,工作更快,更容易打字:

users = { 'Peter': 600, 'Georgeo': 700, 'Mike': 800  }
print(f'Names = {list(users.keys())}')
print(f'Values = {list(users.values())}')
print(f'Georgeo number : {users["Georgeo"]}')
for user, value in users.items():
   print(f' {user} has {value}')

给予

Names = ['Peter', 'Georgeo', 'Mike']
Value = [600, 700, 800]
Georgeo number : 700
 Peter has 600
 Georgeo has 700
 Mike has 800

相关问题 更多 >