首页 > 代码库 > 5.三目运算符,C语言数组,链表和Python字符串,列表的联系

5.三目运算符,C语言数组,链表和Python字符串,列表的联系

1.三目运算,三元运算

if l==1:
name = "alex"
else:
name = "eric"


name = "alex" if l==1 esle "eric"
print(name)

  


2.c与python的联系


str,字符串的功能一般是生成一个新的字符串(去括号,替换等)
列表,字典的功能一般是在它们里面做修改
这是为什么呢?

li = [11, 22]
  列表若是在地址中连续存储的话,那么我们要插入,修改要需要事先预留空间,那么留多少呢,这是个问题。所以python中的列表类似与c中的链表而不是数组。所以同样可以理解,因为python中的字符串是由c中的字符数组实现的。所以在修改的时候,只能另外申请全新的内存,也就是新建一个新的字符串,即使替换了一个字母,也会生成一个新的字符串,原字符串依然保留。所以,在python中对于str,是一次性创建,不能被修改,只能修改再创建而,而对于list,相当于链表,可以随意插入,修改,删除。但是若我们的列表里面的每个元素都是一个字符串,在修改其中一个字符串的时候,也是新建一个新的字符串,再用链表的形式将其原先的索引号与新的字符串连接起来,原先的那个字符串还是存在与内存中

 

5.三目运算符,C语言数组,链表和Python字符串,列表的联系