churchill
V2EX  ›  问与答

小白不懂就问, Python 是不是语法糖最多的“常规”语言

By churchill at 2022 年 7 月 3 日 · 2907 次点击
list(zip(*[(1,3,6),(2,4,5)]))

这啥啊,好家伙一个*号用到的地方比 c/c++还多 不闲齁得慌吗

15 条回复  •  2022-07-04 17:16:14 +08:00
westoy
   1
westoy  
   2022 年 7 月 3 日   ❤️ 2
问题是, 你这个*[]意义何在......有没有一种可能, 去掉这个, 完全没有任何影响.....
misaka19000
   2
misaka19000  
   2022 年 7 月 3 日
看一看 Ruby
ecnelises
   3
ecnelises  
   2022 年 7 月 3 日 via iPhone   ❤️ 1
Ruby 、Swift:?
codeMore
   4
codeMore  
   2022 年 7 月 3 日
a = list(zip(*[(1, 3, 6), (2, 4, 5)]))
b = list(zip((1, 3, 6), (2, 4, 5)))
codeMore
   5
codeMore  
   2022 年 7 月 3 日
a,b 是等价吧
churchill
   6
churchill  
OP
   2022 年 7 月 3 日
@westoy 别骗我 我不懂 python
```
a = zip(*[(1,0),(0,1)])
b = zip([(1,0),(0,1)])
for c,d in a, b:
print(c,d)
# (1, 0) (0, 1)
# ((1, 0),) ((0, 1),)
```
westoy
   7
westoy  
   2022 年 7 月 3 日
@churchill

去掉*[], 不是去掉*啊......
hsfzxjy
   8
hsfzxjy  
   2022 年 7 月 3 日 via Android
ruby ,rust ,kotlin
churchill
   9
churchill  
OP
   2022 年 7 月 3 日
@westoy 噢 我例子举得随便了,源代码中内容是作为参数传进来的
LeeReamond
   10
LeeReamond  
   2022 年 7 月 4 日 via Android
语法糖存在与否,本质上还是为了方便人机交互,所以语义清晰即可,从这个角度上讲 for in/for each of 这类接近自然语言的语法糖设计为一类,python 的*解析式可以认为是二类,c 语言在声明和赋值混合使用星号(而不采用 ptr 之类的元语表达相同含义),包括 rust 设计中用量过于频繁的各类标记性的标点符号,就都比较糟糕了
Building
   11
Building  
   2022 年 7 月 4 日 via iPhone
Swift 表示……都是渣渣
Leviathann
   12
Leviathann  
   2022 年 7 月 4 日 via iPhone
python 的语法 其实还是相当简陋的 也就只写过 c 早期 Java 等古早语言的才会吹一吹它的所谓贴近自然语言这点
MintZX
   13
MintZX  
   2022 年 7 月 4 日 via iPhone
看一看 scala
abersheeran
   14
abersheeran  
   2022 年 7 月 4 日
https://mingshe.aber.sh/en/ 我甚至觉得 Python 的语法少了哈哈哈
coderwl
   15
coderwl  
   2022 年 7 月 4 日
ruby 的糖多的离谱
© 2026 V2EX · 48ms · 3.9.8.5