python list元素类型_python 的list 数据类型

List是python的基本数据类型之一

当成基本数组的赋值以及访问

注意list[2]表示访问列表第三个元素,list[-2]表示访问的是列表倒数第二个元素

list[1:]表示从第二个列表元素开始截取列表

list1=[1,2,3,4]

list2=["cnm","fuck you","nmsl"]print(list1)#输出[1,2,3,4]

print(list1[0])#输出1

print(list1[1:5])#[2,3,4]

print(list1[0:1])#[1]

print(list1[0:2])#[1,2]

print(list1[0:4])#[1,2,3,4]

print(list2[1])#fuck you

更新列表

list=[]

list.append("ss")

list.append("tt")print(list)

删除列表元素

list=[1,2,3,4,5]print(list)del(list[2])print(list)

列表的脚本操作

list1=[1,2,3]

list2=[4,5,6]

list1=list1+list2#列表合并

print(list1)

list1=list1*2#列表复制

print(list1)if(3in(list1)):#列表元素判断是否在内

print("Yes")else:print("No")for x in list1:#遍历列表

print(x)

常用成员函数

len(list)返回列表元素个数

list.count(obj)统计某个元素在列表中出现的次数

list.index(obj)从列表中找出某个值第一个匹配项的索引位置

list.insert(index, obj) 将元素插入列表的指定位置

list=[5,6,7,8,9]

list.insert(3,1)print(list)#[5, 6, 7, 1, 8, 9]

list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.reverse()反向列表中元素

list.remove(obj)移除列表中某个值的第一个匹配项

list.sort(cmp=None, key=None, reverse=False)对原列表进行排序

其中reverse=False为默认升序,True为降序

list=['a','e','i','o','u']

list.sort(reverse=False)print(list)#['a', 'e', 'i', 'o', 'u']

list.sort(reverse=True)print(list)#['u', 'o', 'i', 'e', 'a']

key表示用来进行排序比较的元素。

这个元素取自python的可迭代对象(python中的可迭代对象指的是列表、元组、字典、字符串)。指定可迭代对象

的这个元素来进行排序。

def second(x):#取该元组的第二个元素进行排序

return x[1]

tup=[(1,1),(1,3),(1,4),(1,2)]

tup.sort(key=second)print(tup)#[(1, 1), (1, 2), (1, 3), (1, 4)]

#列表按照其中每一个值的绝对值排序

l1 = [1,3,5,-2,-4,-6]

l2= sorted(l1,key=abs)print(l1)#[1, 3, 5, -2, -4, -6]

print(l2)#[1, -2, 3, -4, 5, -6]

#sorted是可以保存原有列表顺序的排序方式

#列表按照每一个元素的len排序

l = [[1,2],[3,4,5,6],(7,),'123']print(sorted(l,key=len))#[(7,), [1, 2], '123', [3, 4, 5, 6]]

不难发现,就是对于列表中的每一个元素,进行key()操作之后,再进行排序。编译的时候应该是这么处理的吧。

貌似python3.x中取消了cmp参数?

那么如何实现return A.x

可以如下实现

#如果逻辑上认为 a < b ,返回 -1#如果逻辑上认为 a > b , 返回 1#如果逻辑上认为 a == b, 返回 0

importfunctoolsdefcmp(A,B):if(A[0]

elif(A[0]==B[0]):if(A[1]

elif(A[1]==B[1]):return0else:return 1

else:return 1tup=[(7,1),(6,2),(6,1),(8,4)]

tup.sort(key=functools.cmp_to_key(cmp))print(tup)#[(6, 1), (6, 2), (7, 1), (8, 4)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值