列表

1.Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,列表中可以存放我们已经学习过的任何数据类型。

2 .list1[0] 和 list1[0:1] 是不一样的,list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。
列:

>>> list1= [1,3,4,5,6,3]
>>> list1[0]
1
>>> list1[0:1]
[1]

3.在Python中输入list1[-3:-1] 是不会报错的,输入后会显示 [5, 6],因为Python 的列表很聪明,可以支持负数索引,如图:

对列表中每个列表进行编号python python列表[::-1]_对列表中每个列表进行编号python


list2 = list1[:]和 list2 = list1是不一样的。

>>> list1 = [1, 3, 2, 9, 7, 8]
>>> list2 = list1[:]
>>> list2
[1, 3, 2, 9, 7, 8]
>>> list3 = list1
>>> list3
[1, 3, 2, 9, 7, 8]

表面看起来一样,其实内心是不一样的哦,接着看

>>> list1.sort()
>>> list1
[1, 2, 3, 7, 8, 9]
>>> list2
[1, 3, 2, 9, 7, 8]
>>> list3
[1, 2, 3, 7, 8, 9]

list3是随着list1改变而改变的,墙头草一样,但是list2就不一样了,内心坚定,不忘初心(list2列表一般用来作list1的副本修改),下图可作解释(图片来源网上)。

对列表中每个列表进行编号python python列表[::-1]_对列表中每个列表进行编号python_02


4.copy() 方法跟使用切片拷贝是一样的。

clear() 方法用于清空列表的元素,但要注意,清空完后列表仍然还在哦,只是变成一个空列表。

5.列表推导式
列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:
[有关A的表达式 for A in B]
例子:
>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0] 就可以解释为

list1 = []
for x in range(10):
    for y in range(10):
        if x%2 == 0:
            if y%2 != 0:
                list1.append((x, y))

===================================================
思考题:

>>> list1=['1.双双','2.小红','3.帅波']
>>> list2=['3.爸爸','2.闺女','1.幺妹']
>>> list3=[name + ':' + chenghui[2:] for name in list1  for chenghui in list2  if name[0] == chenghui[0]]
>>> for each in list3:
	print(each)	
1.双双:幺妹
2.小红:闺女
3.帅波:爸爸

上面的name[0] == chenghui[0]表示,list1和list2中索引为0的值相同时,

字符串:
字符串不能修改字符序列,除了不能修改之外,还可以把字符串当成列表一样处理。
访问字符串种某个字符同访问元组和列表的元素是一样的

列表:
列表的特点就是:可重复,类型可不同。类型不同也是跟数组最本质的区别了。python里的列表用“[]”表示。列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素。
区别于元组,可动态增加,删除,更新

元组:
元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组(1,2,3)表示,元组最重要的是“,”,如果没有“,”就是一串字符串,括号可以不用,但是一般会带上,方便识别。
元组一旦定义其长度和内容都是固定的。
一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作