[Python]学习基础篇:列表(List)的浅解

列表

首先先说明中python中数组下标的使用,在java,c或者c++中,每个数组的下标必须是正数,不能出现负数,如在java,c或者c++中使用a[-1],编辑器会报错,而在python中数组的访问时可以出现负数下标,表示倒数第几个元素。

  • list列表的定义 
    Python中列表的定义比较简单,不需要想java中需要用List类创建的一个对象。在java中不同类型的对象是不能存放在同一个列表中,而Python中同一个list可以存放不同类型的数据,同时也可以存放一个obj。 
    格式:list=[……..]

>>>list=['defrew','234','234','dew','2342',238492,'f'] >>>list['defrew', '234', '234', 'dew', '2342', 238492, 'f']123

列表的重复定义: 
list=list * count

>>>list=['haha'] >>>list * 4['haha', 'haha', 'haha', 'haha']123

list=[1,3,44’234’]

  • 列表中元素的增加

函数/表达式说明举例
+向列表的末尾条件一个新的列表>>>list=list+['a'] >>>list [1,3,44,'234','a']
addpend( x )向列表的末尾添加一个元素>>>list.append(10) >>>list [1,3,44,'234','a',10]
extend( list )向列表的末尾添加一个list>>>list.extend([5,6]) >>>list [1,3, 44,'234','a',10,5,6]
insert( i , x )在i的位置添加元素x>>>list.insert(0,'x') >>>list ['x',1,3,44,'234','a',10,5,6]

list=[1,2,3,4,5,6] 
列表的删除

函数说明举例
del删除特定位置的元素>>>del list[3] >>>list [1,2,3,5,6]
remove(x)删除特定值得元素>>>list.remove(3) >>>list [1,2,5,6]
pop([])弹出指定位置的元素,若参数i不存在时,弹出最后一个元素>>>list.pop() 6 >>>list [1, 2, 5]

  • 列表的更新 
    对于列表的更新,只需要将特定未知的元素进行从新复制,这样就可以实现更新

>>>list[i]=x1

list=[1,2,3,4,5,6] 
检查列表中元素是否存在

函数说明举例
count(str)判断str元素出现的次数>>>list.count(1) 1
value in list使用in表达式检测元素是否存在,若存在返回True>>>4 in list True >>>7 in list False
index(str)返回某个元素的准确位置,若元素不在列表中则出错>>>list.index(3) 2 list.index(7) 7 is not in list

list=[1,2,3,4,5,6] 
列表的迭代

>>> for key in d:     print(key)12

如何将列表的索引和值都打印出来呢?使用Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

>>>for key in enumerate(list)         print key     0  1     1  2     ....

list=[1,2,3,4,5,6] 
列表的常用函数

函数说明举例
cmp(list1,list2)比较两个列表的元素,先比较第一个元素,若第一个元素相同,则开始对比第二个元素,若不同不在比较。若两个列表相同,则返回0,若list1>list2,返回1,若list1
len(list)返回列表的长度或者元素个数>>>len(list) 6
max(list)/min(list)返回列表中的最大值和最小值
sorted(list[,reverse=True])默认为升序排序,若第二个参数存在且值为True,则为降序排序
reversed(list)逆序排序

  • 列表的切片 
    对于列表而言找打某一个元素比较简单,使用list[i]就可以找到这个元素了,那对于找到某一范围内的元素,python的列表提供了切片的方法,可以找到某一个范围内的元素。 
    格式:list[start: end] 
    list=[1,2,3,4,5,6]

(1).取前3个元素,若从0开始取,则第一个参数可以省略 >>>list[0:3] [1, 2, 3] >>>list[:3] [1, 2, 3] (2).取1到4个元素 >>>list[1:4] [2, 3, 4] (3).取倒数第一个到倒数第三个 >>>list[-3:-1] [4, 5] (4).取最后两个 >>>list[-2:] [5, 6] (5).若想在列表中取前4个,每两个中去一个 >>>list[:4:2] [1, 3] (6).复制一个列表 >>>list1=list[:] >>>list1 [1, 2, 3, 4, 5, 6]

元组

元组由简单的对象组构成,元组与列表相似,但是元组不能在原处修改。元组位置有序的对象集合,元组通过偏移来访问。

为什么有了列表还要元组?元组的不变性提供了某种完整性,可以确保元组在程序中不被另一个引用修改,元组类似于其他语言中的常数。

  • 元组的定义 
    对于tuple的定义和list定义是一样的,不过tuple定义之后就不能修改值了。

>>>a=(1,2,3,4,5)

对于定义tuple只有一个元素的元组,对于以下定义会产生歧义

>>>a=(1) 1

以上定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。 
那么对于只有有个元素的元组的定义时必须加上逗号,例如:

>>>a=(1,) (1,)

元祖的定义之后它的值就不会改变,但是对于元组中元素是没有限制的,元素可以是tuple,list,dict等,那么定义一个可变的元组,那么元组中的元素中有一个可变的列表,例如:

>>>a=(1,2,[2,3,4,5]) >>>a(1, 2, [2, 3, 4, 5])

  • 元组的检索 
    对于元组的检索使用和list检索相同的方法就行

  • 元组和list的差别

**相同点**(1).使用同样的方式遍历 (2).以同样的方法进行切片和检索**不同点**(1).元组中的元素一旦定义就无法改变,所以就无法使用append()和extend()方法来增加元素。 (2).元组中的元素是无法修改的,所以也是不发使用remove()和pop()方法。**tuple相对于list的优点**(1).元组的速度比列表快 (2).元组对于不需要改变的数据进行‘写保护’,安全 (3).有时一些元组可以做字典键
Insane_linux
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值