我什么时候应该使用字典,列表或设置?
是否存在更适合每种数据类型的方案?
我有一个大的字典对象,有几个键值对(大约16),但我只对它们中的3个感兴趣.实现这一目标的最佳方式(最短/最有效/最优雅)是什么?
我所知道的最好的是:
bigdict = {'a':1,'b':2,....,'z':26}
subdict = {'l':bigdict['l'], 'm':bigdict['m'], 'n':bigdict['n']}
Run Code Online (Sandbox Code Playgroud)
我相信有比这更优雅的方式.想法?
我有一个套接字服务器,应该从客户端接收UTF-8有效字符.
问题是一些客户端(主要是黑客)正在通过它发送所有错误的数据.
我可以很容易地区分真正的客户端,但我正在记录所有发送的数据文件,以便我以后可以分析它.
有时我会得到这样的字符œ
导致UnicodeDecodeError
错误.
我需要能够使用或不使用这些字符来生成字符串UTF-8.
更新:
对于我的特殊情况,套接字服务是一个MTA,因此我只希望接收ASCII命令,如:
EHLO example.com
MAIL FROM: <john.doe@example.com>
...
Run Code Online (Sandbox Code Playgroud)
我用JSON记录了所有这些.
然后一些没有良好意图的人决定出售各种垃圾.
这就是为什么对于我的特定情况,剥离非ASCII字符是完全可以的.
所以我有两个YAML文件,"A"和"B",我想要将A的内容插入到B中,或者拼接到现有的数据结构中,像数组一样,或者作为元素的子元素,比如值对于某个哈希键.
这有可能吗?怎么样?如果没有,任何指向规范参考的指针?
可能重复:
SQL中的GROUP BY /聚合函数混淆
我收到了一个错误 -
列'Employee.EmpID'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.
select loc.LocationID, emp.EmpID
from Employee as emp full join Location as loc
on emp.LocationID = loc.LocationID
group by loc.LocationID
Run Code Online (Sandbox Code Playgroud)
这种情况符合Bill Karwin给出的答案.
修正以上,适合ExactaBox的答案 -
select loc.LocationID, count(emp.EmpID) -- not count(*), don't want to count nulls
from Employee as emp full join Location as loc
on emp.LocationID = loc.LocationID
group by loc.LocationID
Run Code Online (Sandbox Code Playgroud)
原始问题 -
对于SQL查询 -
select *
from Employee as emp full join Location as loc
on emp.LocationID = loc.LocationID
group by (loc.LocationID) …
Run Code Online (Sandbox Code Playgroud) 为什么列表没有像字典那样安全的"获取"方法?
>>> d = {'a':'b'}
>>> d['a']
'b'
>>> d['c']
KeyError: 'c'
>>> d.get('c', 'fail')
'fail'
>>> l = [1]
>>> l[10]
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud) 可能重复:
Python:我在运行什么操作系统?
正如标题所说,我怎样才能在python中找到当前的操作系统?
我在一个有很多不同领域的网站上有一个表格.某些字段是可选字段,而某些字段是必填字段.在我的数据库中,我有一个包含所有这些值的表,是否更好的做法是将NULL值或空字符串插入到用户未放置任何数据的DB列中?
我在Windows 7上使用Python 3.x进行大部分编程,但现在我需要使用Python Imaging Library(PIL),ImageMagick和wxPython,所有这些都需要Python 2.x.
我可以在Windows 7中安装Python 2.x和Python 3.x吗?当我运行脚本时,我如何"选择"应该运行哪个版本的Python?上述程序是否能够同时处理多个版本的Python?我已经搜索了几个小时和几个小时来如何做到这一点无济于事.
谢谢.
python windows compatibility backwards-compatibility build-environment