温馨提示:本文翻译自stackoverflow.com,查看原文请点击:python - what do two square brackets next to eachother do in C
c python

python - 在C中彼此相邻的两个方括号做什么

发布于 2020-03-27 15:40:52

在C中彼此相邻的两个方括号有什么作用,与python中的相同吗?

在python中

lst = [1,2,3,[1,2,3]]
lst[3][1]

第二行给出2

在C中功能是否相同?

查看更多

查看更多

提问者
gm2213
被浏览
15
Masklinn 2020-01-31 15:16

在python中,它将是lst = [1,2,3,[1,2,3]] lst [3] [1],在第二个列表中将是2。在C中功能是否相同?

是的,没有。好吧,更多的像是,不是,真的:

  • C数组文字与Python完全不同,它们没有放在方括号中,并且是静态类型的
  • 假设lst是一个数组的数组,lst[3][1]则确实会返回第四个元素的第二个
  • C中索引的语义与Python的语义大不相同(并且容易出错)
  • 实际上,C数组的语义通常与Python列表的语义非常不同,并且假设它们的工作原理相似是完全危险的

如果您必须使用C,那么您真的应该学习C,而不仅仅是尝试通过半随机等效性来弄清楚C语言不是一门大语言,但既不容易,也不容忍。