【问题标题】:Python. The way how to find out the element's order based on selected variable in listPython。如何根据列表中的选定变量找出元素的顺序
【发布时间】:2019-11-15 19:21:05
【问题描述】:

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

我有变量:第一个“用户”,人名和第二个“值”,人的任何值(只是属于列表名称的值)。然后我创建了另一个变量,并在这个变量中选择,其中一个元素将打印到终端。 我在互联网上找到的变量“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]))

【问题讨论】:

    标签: python python-3.x list python-requests


    【解决方案1】:

    您是否正在寻找列表中的“Peter”或“Georgo”的哪个位置?就是这样使用.count方法

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

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

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

    print(val)
    

    在 if 语句中设置它们

    【讨论】:

      【解决方案2】:

      可以直接使用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
      

      【讨论】:

        猜你喜欢
        • 2021-12-11
        • 1970-01-01
        • 1970-01-01
        • 2022-01-24
        • 2022-01-16
        • 1970-01-01
        • 2019-03-06
        • 1970-01-01
        • 2017-04-19
        相关资源
        最近更新 更多