我正在尝试将列表数据结构转换为字典字典.
该清单定义如下:
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)
我在这里和这里找到了一些处理将列表转换为字典的帖子,但我并没有按照我想要的方式使它工作.有没有"干净"的方式如何实现上面公布的结构?
我想修改给定 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) 我试图使我从 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 ×3
python-3.x ×3
pyqt5 ×2
dictionary ×1
list ×1
nested ×1
pyqt ×1
qmenu ×1
qtableview ×1