V2EX EurekaSeven 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    EurekaSeven    全部回复第 1 页 / 共 1 页
回复总数  9
2019-12-16 16:37:09 +08:00
回复了 codeismylife 创建的主题 程序员 同事为了 JSON 怎么写吵起来了!请各位断案!
抛开应用场景谈对错都是耍流氓。
2019-12-02 15:42:31 +08:00
回复了 renantianxia8 创建的主题 Python Python 太难找工作了
@alw1329 ```python
# 一个例子,实际数据比较长

# 比如这是我一个很长的需要的数据列表
# 里面缺失了一个 matchId
event_data_list = [{
"id": "周二 001",
"matchTime": "2019/10/23 0:15:00",
"league": "亚冠杯",
"home": "希拉尔",
"away": "萨德",
}]
# 这里面有需要的 matchId,有一个相同的 id 来关联它们
event_name_from_dict = [{
"id": "周二 001",
"matchId": 1798094,
}]

# 从数据库提取的部分就不说了
# 首先会从 matchId 的列表中进行提取并处理
# 提取后的数据以 where 条件做键,对应值
event_id_and_match = dict()
for event_id in event_name_from_dict:
event_id_and_match[event_id["id"]] = event_id["matchId"]
print(event_id_and_match) # {'周二 001': 1798094}

# 然后是进行整合匹配
for event in event_data_list:
# 根据 id 这个键去提取需要的值,字典取值效率是非常高的
# 可以避免用循环嵌套的方式来比对
event['matchId'] = event_id_and_match[event['id']]
# 3.6 以后字典是有序的,如果你要提交数据库可以直接转 tuple(当然不能过度依赖字典的有序)
print(event) # {'id': '周二 001', 'matchTime': '2019/10/23 0:15:00', 'league': '亚冠杯', 'home': '希拉尔', 'away': '萨德', 'matchId': 1798094}
print(tuple(event.values())) # ('周二 001', '2019/10/23 0:15:00', '亚冠杯', '希拉尔', '萨德', 1798094)
```
程序的一部分内容就是这样了,因为有点擦边球的东西,所以我删掉了数据的大部分内容.
本人水平比较低,只能写这样,大佬就不要口吐莲花了。
2019-12-01 14:51:47 +08:00
回复了 dolaxi 创建的主题 Python Django 模型类的存储结构设计
@dolaxi 除非你只记录一次 log,否则还是加个表。
2019-12-01 03:40:36 +08:00
回复了 Youngxj 创建的主题 程序员 使用 PHP 批量抓取 QQ 空间相册链接
新爬虫技能 get !
成都瑟瑟发抖的看着你们
这让我想起了做外包的时候接的单子,老板接的 SQL Server 迁移,拿过来发现,两边的表数量不一致,这就算了,后来我还发现表结构都不一致……
2019-11-30 16:56:51 +08:00
回复了 renantianxia8 创建的主题 Python Python 太难找工作了
@sylvos 我只能说说我那个程序的思路哈,毕竟不知道你的实际情况。
1.最开始我是硬循环嵌套强行做 if 匹配,后来优化当然第一件事就是干掉它,尽量在提取数据之初限定条件,这个条件一般是就是 where 条件,能极大减少循环次数。
2.如果有数据需要从别的地方拿,尽量先提取一次做成字典,把 if 条件之类的通过键的形式直接取值,这样做可以把 where 的匹配时间降到最低,还能去掉循环嵌套。
3.我当时数据是丢数据库的,设计库的时候字段也最好定好,可以以空间换时间,还得把 where 条件做索引,如果涉及到入库,最好先把要存的每条数据做成元组存进列表,通过数据库包的 executemany 方法来提交到数据库,能节省相当多的时间,数据库连接对象也要避免多次创建。
4.numpy 最好用 anaconda 来做,它会包含很多算法库,能极大提升性能,
当时我的数据并没有那么多,整合清洗完成大概 14000 条,但是需要的数据分离在不同的地方,相当于说需要用 where 条件来匹配数据,循环嵌套硬匹配,那循环次数好几亿就太多了,O(n^2)了。做成字典去对应数据,通过键直接去拿我要的,时间上只花了构造字典的循环以及拿数据匹配的循环。
2019-11-29 22:20:02 +08:00
回复了 renantianxia8 创建的主题 Python Python 太难找工作了
@encro Python 的 IDE,就我而言只有 PyCharm 才能好好当成提高效率的工具。
至于高质量的库还是有很多,这些知名库都是好团队组织在维护,Django,Numpy,Pandas 之类。
但是 Python 想精通想用的好确实难,曲线一下子就上去了,七八十度的陡坡。
Python 多数都是外包才招人,招到的多数都是新手,新手写的东西,效率堪忧。
之前也是有人找我教他 Python,想自己写点东西,后来发现学不会,他的工具就都让我做了开发了,因为不是给他教学了,所以给的钱完全支撑不起给他做项目,写的就很随便,没去优化任何东西,能用就行。结果数据处理一趟下来要花近 2 分钟,后来是我自己看不下去,花了一天做了优化,时间缩减到 8 秒,然后找他要了点钱...这波操作反正有点迷。
2019-11-29 21:11:51 +08:00
回复了 1419co1in 创建的主题 Python Python 代码的加密问题
@0x5f 这个挺狠。。。话说以前我做外包的时候老板就是让我们搞这种,我们顶多做个 pyc 罢了。。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2901 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 19ms UTC 13:56 PVG 21:56 LAX 06:56 JFK 09:56
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86