Python自学| 简单学--列表

列表(list)


列表用方括号[ ]标识,逗号隔开,元素可不同,列表的索引与元组一样,如:[‘aaa’,5]
array = [1,2,3,4,5,6,7,8,9] 中1 = array[0] = array [-8],-1为最后一个索引,以此类推;

>>> list(range(1,5))
[1, 2, 3, 4]
>>> list(range(1,10,2))   #步长为21开始,每隔2个元素取一个数
[1, 3, 5, 7, 9]
>>> 

索引和切片–被索引切片后,变为全新的列表;

>>> a = ["I","love","china",5]
>>> a[1:3]
['love', 'china']
>>> a[1]
'love'
>>> a[1] = 'shi'
>>> a
['I', 'shi', 'china', 5]
>>>  

列表可以修改元素,也可用 + ;

>>> a= [1,2,3,4,5,6]
>>> a+[7,8,9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 

在列表插入元素:

>>> a = [1,2,3,4]
>>> a[2:2] =[3]   #2的位置插入3,记住左闭右开
>>> a
[1, 2, 3, 3, 4]
>>> len(a)
5
>>> 

使用list(str)——字符串转化为列表

>>> word = 'Hello'
>>> list(word)
>>> ['H','e','l','l','o']
>

注意:
1.append()方法不能返回值,像:w=w.append(q)为错误;
2.L.extend(list):合并两个列表,将 list 加到 L 列表中,不能追加单个元素

>>> w = [1,2,'L']
>>> q = [8,9]
>>> w.append(q)
>>> w
[1, 2, 'L', [8, 9]]     #很容易看出append 和 extend 的区别
>>> w.extend(q)
>>> w
[1, 2, 'L', [8, 9], 8, 9]
>>> 

1)向列表插入(a.insert())元素:

>>> a = ["I","love","china",5]
>>> a.insert(1,'you')
>>> a
['I', 'you', 'love', 'china', 5]
>>> 

2)从list 删除元素:
使用L。pop(index)从列表list删除元素,返回被删除的index位置,只能删除一个。默认删除最后一个;

>>> a = ["I","love","china",5]
>>> a.pop(2)
'china'
>>> a
['I', 'love', 5]
>>> a.pop()           		 #默认最后一个
5
>>> a
['I', 'love']
>>> 

3)使用del L [index] 删除指定索引或范围的元素;

>>> a = ["I","love","china",5]
>>> del a[3]
>>> a
['I', 'love', 'china']
>>>del a[1:2]
>>> a
>>> ['I']

4)使用L.remove(var)删除第一次出现的var元素;

>>> a = [5,"I","love","china",5]
>>> a.remove(5)
>>> a
['I', 'love', 'china', 5]
>>> 

5)此外,还可以使用切片删除

>>> li =[1,2,3,4,5,6,7,8,9]
>>> li = li[:-1]
>>> li
[1, 2, 3, 4, 5, 6, 7, 8]
>>> 

6)list 操作符(:、+ *);

>>> a = ["I","you","he",5]
>>> a[1:]
['you', 'he', 5]
>>> [1,2]+[3,4]
[1, 2, 3, 4]
>>> [2]*4
[2, 2, 2, 2]
>>> 

7)list的索引冒号用法;

>>> array = [1,2,5,3,6,8,4]
>>> array[0:]  			#索引0以后的
[1, 2, 5, 3, 6, 8, 4]
>>> array[1:]			#索引1以后的
[2, 5, 3, 6, 8, 4]
>>> array[:-1]			#索引-1之前的
[1, 2, 5, 3, 6, 8]
>>> array[3:-3]			#索引3-3之间的
[3]
>>> 

8)两个冒号[::]表示取全部索引;

>>> array = [1,2,5,3,6,8,4]
>>> array[::2]			#步长为2取元素
[1, 5, 6, 4]
>>> array[2::]
[5, 3, 6, 8, 4]
>>> array[::3]
[1, 3, 4]
>>> array[::4]
[1, 6]
>>>

双冒号[::]还可以形成reverse函数的效果;

>>> array = [1,2,5,3,6,8,4]
>>> array[::-1]
[4, 8, 6, 3, 5, 2, 1]
>>> array[::-2]
[4, 6, 5, 1]
>>> 

9)list排序;
对列表进行排序可以使用sort()和sorted()函数;
①sort():此函数会改变列表本身;

>>> array = [1,2,5,3,6,8,4]
>>> array.sort()
>>> array
[1, 2, 3, 4, 5, 6, 8]

注意:sort()函数默认从小到大排序,但可以添加参数reverse=True,变成从大到小的排列。
例如:

>>> array = [1,2,5,3,6,8,4]
>>> array.sort(reverse=True)
>>> array
[1,2,3,4,5,6,8]
>>>

注意:sort()函数使用是‘ . ’即:a.sort()。使用sort(a)会报错,且sort()会改变原本列表,函数值返回为None,

②sorted():此函数进行排列,直接获取列表的一个副本。

>>> array = [1,2,5,3,6,8,4]
>>> sorted(array)
[1, 2, 3, 4, 5, 6, 8]
>>>> array
[1, 2, 5, 3, 6, 8, 4]			#不改变原有列表,类似Copy
>>>

③reverse():此函数用来进行倒序排列;

>>> array = [1,2,5,3,6,8,4]
>>> array.reverse()
>>> array
[4, 8, 6, 3, 5, 2, 1]
>>> 

或者

>>> reversed([1,2,'L'])
<list_reverseiterator object at 0x00000160B693EBA8>
>>> list(reversed([1,2,'L']))
['L', 2, 1]
>>> 

或者

>>> w = [1,2,'L']
>>> w[::-1]
['L', 2, 1]
>>> 


附:深拷贝
>>> array = [1,2,5,3,6,8,4]
>>> y=array[:]
>>> y.sort()
>>> print(array)
[1, 2, 5, 3, 6, 8, 4]
>>> print(y)
[1, 2, 3, 4, 5, 6, 8]
>>> 

11)其他方法
1.L.count(var): 返回var元素在列表中出现的个数;
2.L.index(var): 返回第一个var元素的位置,无则抛出异常;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值