Python:将嵌套列表的值与字典值相除

标签 python python-3.x list dictionary

我有一个列表:

mylist = [['A',4,2,5], ['C',3,9,5], ['D',2,5,6]]

还有一本字典:

mydict = {'A' : 2, 'B' : 6, 'C' : 3}

如果嵌套列表的第一个值与 mydict 的键匹配,我想用 mydict 的值划分嵌套列表。

mylist2 应该是这样的:

mylist2 = [['A',2,1,2.5], ['C',1,3,1.66666666667], ['D',2,5,6]]

我是 python 的新手,尝试了很多,例如这个但是没有用:

mylist2 = []
for item in mylist:
    if item[0] == list(mydict.keys()):
        mylist2 = mylist[0][1:] / list(mydict.keys())
print(mylist2)

最佳答案

您可以使用嵌套列表推导,使用key, *rest 解压mylist 的元素并使用dict.get 获取除数或默认为 1:

>>> [[key] + [x/mydict.get(key, 1) for x in rest] for key, *rest in mylist]
[['A', 2.0, 1.0, 2.5],
 ['C', 1.0, 3.0, 1.6666666666666667],
 ['D', 2.0, 5.0, 6.0]]

关于Python:将嵌套列表的值与字典值相除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53706891/

相关文章:

python - 如何找到满足条件的除法余数?

python - 在字符串python中查找重复的单词

python - 基于一个键属性的python中嵌套列表的组合

python - Pandas DataFrame 应用函数调试

python - 使用 Python Selenium WebDriver 进行异常处理的返回值

python - 在 Ubuntu 上安装 psycopg2

python - 一减去一个小数等于一吗?处理小数字

python - OSError : [Errno 22] Invalid argument on file path while modifying a file

list - 数据类型排序的Haskell列表

arrays - 在 SSRS 的文本框中显示字符串列表