python 的容器之列表使用

通过下面的例子来了解用法

#后面的内容是输出&解释

a = [1 , 2 , 3 , 4 ]

b = [1]

c = [1]

d = b

e = [1,"hello  world!",c, False]

print(id(b),id(c))                  #(194100040L,   194100552L)

print(id(b),id(d))                  #(194100040L,    194100040L)

print (b == c)                      # True 

f = list("abcd")                    # 利用list函数从任何可遍历结构初始化

print (f)                               #['a','b','c','d']

g = [0]*3 + [1]*4 + [2]*2     #[0 , 0 , 0 , 1 , 1 , 1 , 1 , 2 , 2]

“*”操作符对于列表而言是复制,最后一个语句用这种方法生成了分段的列表。

列表的基本操作有访问、增加、删除、拼接、子序列和倒序等:

a = [ 1 , 2 , 3 , 4 ]                          

a.pop()                                        #把最后一个值4从列表中移除并作为pop的返回值         

4 in a                                          #判断4 是否在a中,False

a.append(5)                               #末尾插入值,[ 1 , 2 , 3 , 5]

a.index(2)                                  #找到第一个2所在的位置,也就是1

a [2]                                          #取下标,即位置在2的值,也就是第3个值3

a += [ 4 , 3 , 2 ]                         #拼接, [ 1 , 2 , 3 , 5 ,4 , 3 , 2]

a.insert(1, 0)                             #在下标为1处插入元素0,[ 1 ,0, 2 , 3 , 5 ,4 , 3 , 2]

a.remove(2)                               #移除第一个2, [ 1 ,0 , 3 , 5 ,4 , 3 , 2]

a.reverse()                                  #倒序,返回值为0,a变为 [ 2 , 3 , 4 , 5 , 3 , 0 , 1 ] 

a[3] = 9                                      #指定下标处赋值,[2 , 3 , 4 ,9 , 3 , 0 , 1]

b = a[2:5]                       #取下标2开始到5之前的子序列,[4,9,3],此类方法叫做slicing

c = a[2:-2]                    #下标也可以很方便的倒着数,-1 对应最后一个元素,[4,9,3]

d = a[ 2: ]                     #取下标2开始到结尾的子序列,[4 ,9 , 3 , 0 , 1]

e = a[   : 5 ]                   #取开始到下标5之前的子序列, [2 , 3 , 4 ,9 , 3]

f = a [ : ]              #取从开头到最后的整个子序列,相当于值拷贝, [2 , 3 , 4 ,9 , 3 , 0 , 1]

a[2:-2] = [1,2,3]       # 赋值也可以按照片段来,[2,3,1,2,3,0,1]

g = a [::-1]           #也是倒序,通过slicing实现并赋值,效率略低于reverse()

a.sort()

print (a)              #列表内排序,返回值为None, a 变为[0,1,1,2,2,3,3]

因为列表是有顺序的,所以和顺序相关的操作是列表中最常见的,首先来打乱一个列表的顺序,然后再对这个列表排序。

import random 

a = range(6)                                #生成一个列表,从0开始+1递增到5

print (a)                                       #[0,1,2,3,4,5]

random.shuffle(a)                       #shuffle函数可以对可遍历且可变结构打乱顺序

print (a)                                       #[4,3,0,2,5,1]

b =  sorted(a)               

print (b)                                        #  [0,1,2,3,4,5]

c = sorted(a,  reverse = True)   

print (c)                                        #  [5,4,3,2,1,0]    



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值