小编New*_*ing的帖子

将列表列表转换为Python中的词典字典

我正在尝试将列表数据结构转换为字典字典.

该清单定义如下:

l = [
  ['PP','Ear-rings', 'Holesovice', 2000],
  ['PP','Skirts', 'Holesovice', 1000],
  ['PP','Dresses', 'E-shop', 1500],
  ['BM','Butterfly', 'Holesovice', 1600]
]
Run Code Online (Sandbox Code Playgroud)

我的目标是使字典结构如下:

#{'PP' : {'Holesovice' : {'Ear-rings' : 2000, 'Skirts' : 1000},
#         'E-shop' : {'Dresses' : 1500}},
# 'BM' : {'Holesovice' : {'Butterfly' : 1600}}
#}
Run Code Online (Sandbox Code Playgroud)

这段代码不会返回所需的输出:

labels_d = {}
items_d = {}
shops_d = {}

for index, row in enumerate(l):
  items_d[row[1]] = row[3]
  shops_d[row[2]] = items_d
  labels_d[row[0]] = shops_d

print(labels_d)
Run Code Online (Sandbox Code Playgroud)

我在这里这里找到了一些处理将列表转换为字典的帖子,但我并没有按照我想要的方式使它工作.有没有"干净"的方式如何实现上面公布的结构?

python dictionary nested list python-3.x

20
推荐指数
3
解决办法
3418
查看次数

修改 QTableView PYQT5 中的单元格

我想修改给定 QTableView 中的任何单元格(标题除外)。以下是我的原始代码,不允许进行任何更改:

import sys
import csv
from datetime import datetime, timedelta
import calendar
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sqlite3
from pandas import DataFrame

class TBWindow(QMainWindow):
    def __init__(self, parent=None):
        super(TBWindow, self).__init__(parent)

        sql = "select * from stock"
        args = []

        conn = sqlite3.connect('DataBase.db')
        c = conn.cursor()
        c.execute(sql,args)
        data = c.fetchall()
        names = list(map(lambda x: x[0], c.description))
        c.close()
        conn.close()
        data = DataFrame(data, columns = names)

        MenuBar = self.menuBar()
        saveFile = QAction("&Save File", self) …
Run Code Online (Sandbox Code Playgroud)

python qtableview python-3.x pyqt5

5
推荐指数
1
解决办法
6007
查看次数

在 QMenu 中可同时检查一个 QAction

我试图使我从 QMenu 中的选择以一种方式可以检查,即在时间只能选择一个,并且默认情况下设置第一个项目(这实际上有效)。

这是我的代码片段:

paymentType = QMenu('Payment Type', self)
paymentType.addAction(QAction('Cash', paymentType, checkable=True, checked = True))
paymentType.addAction(QAction('Noncash Payment', paymentType, checkable=True))
paymentType.addAction(QAction('Cash on Delivery', paymentType, checkable=True))
paymentType.addAction(QAction('Bank Transfer', paymentType, checkable=True))
menu.addMenu(paymentType)
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢!

python pyqt qmenu python-3.x pyqt5

2
推荐指数
1
解决办法
2349
查看次数

标签 统计

python ×3

python-3.x ×3

pyqt5 ×2

dictionary ×1

list ×1

nested ×1

pyqt ×1

qmenu ×1

qtableview ×1