【问题标题】:Replacing List items with Dictionary Items?用字典项替换列表项?
【发布时间】:2016-09-17 10:58:08
【问题描述】:

有人知道我应该在这里做什么吗?我是 python 新手,所以我不太确定如何描述它。任何帮助将不胜感激!它有点像一个简单的加密程序。

我有一个列表(如下)和一本字典。

list = ['a','b','a','c','d','b']
dictionary = ('a':1,'b':2,'c':3,'d':4)

我想要这个输出:

121342

谢谢!

【问题讨论】:

  • 你有一个列表和一个语法错误
  • @DonkeyKong 就是这样——我真的不知道从哪里开始。我在玩 Python,我有点把自己挖进了一个我太缺乏经验的洞,无法挖出我的出路。

标签: python


【解决方案1】:

试试这个

list = ['a','b','a','c','d','b']
dictionary = {'a':1,'b':2,'c':3,'d':4}    
[dictionary[i] for i in list]

这个表达式将通过迭代“list”变量来创建新列表,并使用“i”作为“list”中的每个项目来获取“dictionary[i]”。芦苇更多here关于。

如果您不确定您的“字典”是否具有“列表”中的每个值,最好使用“dictionary.get(i,'value if key is not found')”获取“字典”值。然后你可以输入:

[dictionary.get(i,'value if key is not found') for i in list]

here你会得到更多的信息

最后一个 - 如果您的结果应该是“121342”,请查看here,然后输入

''.join([dictionary.get(i,'value if key is not found') for i in list])

【讨论】:

    【解决方案2】:
    list_t = ['a','b','a','c','d','b']
    dictionary = {'a':1,'b':2,'c':3,'d':4}
    lis=[]
    for i in list_t:
       for key in dictionary:
          if (i==key):
             lis.append(dictionary[i])
    print lis
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2019-04-07
    相关资源
    最近更新 更多