都说 python 数据结构丰富,丰富在哪?

2016-11-16 18:25:49 +08:00
 doer233

当人们谈论起 python 时都乐于说 python 优雅,数据结构丰富。本人值接触过 python 语言,没有其他语言的编程经验,请问又那些数据结构是 python 中有而其他语言中没有的。

7222 次点击
所在节点    Python
68 条回复
sun2920989
2016-11-17 09:30:20 +08:00
论结构丰富,我只服 PHP 的数组
spark
2016-11-17 09:43:58 +08:00
@dtfm 听君一席话,滚去玩 Python
kimboqi
2016-11-17 10:09:22 +08:00
numpy pandas 你会喜欢的
liqiazero
2016-11-17 10:22:23 +08:00
推荐看一下 《 Python 语言剖析》 陈儒写的, 08 年的书,满篇 C 语言的 Python 底层代码,各种数据结构的底层代码,读懂也就不会纠结于这个问题了。推荐看一下
tairan2006
2016-11-17 11:13:35 +08:00
论数据结构,应该是 C++的标准库里面最多吧。。如果加上 boost ,基本常见的都有了
shell92
2016-11-17 11:25:10 +08:00
嗯。。。。。。。
est
2016-11-17 12:13:24 +08:00
C 语言里能用一个 hash 已经是中级以上水平的了。

用 C 实现一个 hmac 就得花很多功夫。不用第三方现成的库的话。
masterqing
2016-11-17 12:47:16 +08:00
ruby 写的才像英语
mooncakejs
2016-11-17 12:47:49 +08:00
@hareandlion py 作者的兼职是卖出 1000w 把尺子
myid
2016-11-17 14:34:38 +08:00
就 7 楼的例子,来个 C++的实现, 2 行。怎么样?不逊于 Python 实现吧?行数一样, 2 行。自带数据结构,在 C++的 STL 里称为 map -- 支持范型,类型安全,效率和质量在工程上有口皆碑。


std::map<char, int> v2ex;
for (auto const& x : "ebreredfdfhdlfhferdlhgfdnhe") { ++v2ex[x]; }
haoc
2016-11-17 14:45:05 +08:00
python 数据结构真心没有 java 丰富。
myid
2016-11-17 15:26:42 +08:00
@est 那么 C++呢? STL 和 boost 准备了巨量的东东等大家拿来用。。。
myid
2016-11-17 15:26:54 +08:00
@est
那么 C++呢? STL 和 boost 准备了巨量的东东等大家拿来用。。。
102400
2016-11-17 15:38:22 +08:00
@NaVient

算上 import 也是三行吧, Ruby 可以这样

v2ex = 'ebreredfdfhdlfhferdlhgfdnhe'
counters =-> s { s.chars.map { |c| [c, s.count(c)] }.to_h }
counters.call v2ex
wujunze
2016-11-17 15:41:48 +08:00
est
2016-11-17 17:26:16 +08:00
@myid stl boost 算第三方库吧。 python 默默拿出 scipy sympy 装逼一发。

符号计算。来比吧。等你们 link 完 python 版本说不定就上线了。
littleshy
2016-11-17 17:36:36 +08:00
@102400
@NaVient
F#的 Seq.countBy
wingyiu
2016-11-17 18:52:26 +08:00
myid
2016-11-17 20:59:22 +08:00
@est STL 不是第三方库哦 所有不是很古董的 c++编译器都自带 STL 。 boost 特别一点 就不在这里展开了。要比生态环境 (例如数据结构实现) c/c++和 Python 一样强,甚至更强。 26 楼和 34 楼已给了解释和例子。
pyufftj
2016-11-17 22:51:18 +08:00
@chengluyu 总结的很好!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/320992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX