津津乐道 发表于 2021-10-20 11:10:38

关于字典中列表的调用问题

初学python 最近在搞自己的算例
import xlrd as xl

data = xl.open_workbook(r'D:\m\1.xlsx') # 打开xlsx文件(绝对路径)
table = data.sheets() # 打开第一张表
nrows = table.nrows #获取总行数
d1 = {}#定义字典放行
d2 = {}#放结果

for i in range(104,149):
   d1["row{0}".format(i+1)] = table.row_values(i)
   d2["derta{0}".format(i+1)]=47.28*d1 +6.02*d1
print(d2)

想法是 调用d1中每个健的值列表中的第一位和第三位进行简单的计算 然后发现不会调用字典里列表中的值
想问问大佬们该如何实现

suchocolate 发表于 2021-10-20 11:32:07

本帖最后由 suchocolate 于 2021-10-20 11:36 编辑

>>> d1 = {'a': , 'b': }
>>> d1['a'] + d1['b']
8
>>>
列表基础:https://www.runoob.com/python3/python3-list.html
字典基础:https://www.runoob.com/python3/python3-dictionary.html
基本功练好,事半功倍。

z5560636 发表于 2021-10-20 13:58:20

for i in range(104,149):
    d1["row{0}".format(i+1)] = []
    d1["row{0}".format(i+1)].append(table.row_values(i))
    # 如果table.row_values(i) 返回的是一个list 或者元组的话下面的话需要改成:
    # d2["derta{0}".format(i + 1)] = 47.28 * d1["row{0}".format(i + 1)] + 6.02 * d1["row{0}".format(i + 1)]
    d2["derta{0}".format(i + 1)] = 47.28*d1["row{0}".format(i+1)] +6.02*d1["row{0}".format(i+1)]

津津乐道 发表于 2021-10-20 20:11:36

suchocolate 发表于 2021-10-20 11:32
列表基础:https://www.runoob.com/python3/python3-list.html
字典基础:https://www.runoob.com/pytho ...

我现在就需要一个这样的网站{:5_109:}

津津乐道 发表于 2021-10-20 20:15:17

z5560636 发表于 2021-10-20 13:58


感谢大佬
页: [1]
查看完整版本: 关于字典中列表的调用问题