从列表中的列表获取字符串

我正在制作一个游戏,我想知道如何从列表中的列表中获取字符串(/元素)。

选择 | 换行 | 行号
  1. players = [["Magnie","apassword"],["Test","apassword"]]
  2. if username == players[0[0]] and password == players[0[1]]:
  3.     print "Welcome back,",username+"!"
  4.  

差不多吧?(这不是真正的代码,只是我想要的。;))

# 回答1


几乎正确,这是
玩家[i][j]
而不是
运动员[[i]j]
(其中


J
当然是您想要使用的实际值,或者保存该值的变量)。
# 回答2


其中一种方法是通过{}.update()将2D列表转换为词典

选择 | 换行 | 行号
  1. players_dict = {}
  2. players_dict.update(players)
  3. if username in players_dict: 
  4.     if password == players_dict[username]:
  5.         print "Welcome back,",username+"!"

另一种(更短,但更杂乱)的方式:

选择 | 换行 | 行号
  1. lst = zip(*players)[0]
  2. if username in lst:
  3.     print "Welcome back" if password == players[lst.index(username)][1] else "Wrong Password"
# 回答3


Yarr:哦,谢谢!我认为,如果一个列表在一个列表中,那么用另一种方式来做会更有意义。:P再次感谢!

标签: python

添加新评论