Python(序列,列表基本操作)

直接排序

l=['hello','world',' ']
print(l)



#list()为内置的函数

l2=list('nihaozhongguo')

l3=list(range(1,12,3))#从1开始到12结束,步长为3,不包含12
print(l2)
print(l3)

#
print(l+l2+l3)
print(max(l3))
#
print(min(l3))
print(len(l))#求列表长度

print(l2.count('o'))#统计o的个数
print(l2.index('o'))#o在列表l2中第一次出现的位置,默认从0开始
del l3#删除l3

使用for(遍历函数排序)

l=['len','what','ok','right']
for item in l:
    print(item)#此时会按顺序依次输出
#用range()与len()
for i in range(0,len(l)):
    print(i,'-->',l[i])
#用enumerate()
for index,item in enumerate(l):
    print(index,item)
    #这里的index是序号,不是索引,可以手动修改,不改默认从0开始
for index,item in enumerate(l,start=1):
#start可以省略不写,改为--->enumerate(l,1):
    print(index,item)

列表的相关操作方法

列表的方法描述说明
lst.append(x)在列表lst最后增加一个元素
lst.insert(index.x)在列表中第index位置增加一个元素
lst.clear()清除列表lst中所有元素
lst.pop(index)将列表lst中第index位置的元素取出,并从列表中删除
lst.remove(x)将列表lst中出现的第一个元素x删除
lst.reverse(x)将列表lst中的元素反转
lst.copy()拷贝列表lst中所有元素,生成一个新的元素
lst.insert(_index:1,_object:100)#在索引为1的位置上插入100

lst=['h','l']
print('原',lst,id(lst))
lst.append('sql')
print('便',lst,id(lst))
#增加元素之后元素个数改变,内存地址不变

lst.remove('h')
print(lst,id(lst))
#删除元素之后元素个数改变,内存地址不变
print(lst.pop(1))
print(lst)
#这里先将sql提出然后再删除,最后只有l

将列表元素清除后地址仍然不改变,使用lst.copy时地址改变

列表排序:列表对象的sort方法,内置函数sorted()

@1——sort

lst=['A','B','C','D']
#lst.sort(Key=None,reverse=False)
#Key表示排序的规则,reverse表示排序方式(默认为升序,为Ture时降序)
#sorted(lst,Key=None,reverse=False)
#lst表示的是排序的对象
lst.sort()#默认排序
print('升序',lst)
lst.sort(reverse=True)
#升序先排大写字母,再排小写字母
print('降序',lst)
#忽略大小写排序
lst.sort(key=str.lower)#表示都转为小写
print(lst)
#参数不加括号,调用加括号

print('-'*40)

asc_lst=sorted(lst)
print('s',asc_lst)
print(lst)
desc_lst=sorted(lst,reverse=True)
print('j',lst)

#忽略大小写进行排序
new_lst=sorted(lst,key=str.lower)
print(lst)
print(new_lst)
#对于sorted而言无论升序还是降序对原来的列表顺序不改变

import random#导入随机数
lst=[item for item in range(1,11)]
print(lst)
#前一个item表示列表中的元素
lst=[item*item for item in range(1,11)]
print(lst)
#让列表中的元素每次翻倍
lst = [random.randint(1, 100) for _ in range(10)]
#从1~100中随机生成10个数
print(lst)

lst=[i for i in range(10) if i%2==0]#生成偶数
print(lst)
#选择符合条件的数组成新的列表
#二维列表
lst=[
    ['周长','参数','面积'],
    ['周长',102,103],
    ['参数',104,504],
    ['面积',12,24]
]
print(lst)
#遍历列表使用双层for循环
for row in lst:#行
    for item in row:#列
        print(item,end='\t')
    print()#换行


lst2=[[j for j in range(5)]for i in range(4)]
print(lst2)
#元组创建
#小括号创建元组
t=('hello',[10,20,30],'python','world')
print(t)
#用内置函数tuple()创建元组
t=tuple('helloworld')
print(t)

t=tuple([10,20,30,40])
print(t)

print('10在元组中是否存在:',(10 in t))
print('10在元组是不存在:',(10 not in t))
print('最大值',max(t))
print('最小值',min(t))
print('len:',len(t))
print('t.index:',t.index(10))#索引
print('t.count',t.count(10))#统计10的个数

#如果元组中只有一个元素:
t=(10)
print(t,type(t))
#这里的类型为整形
#因此如果只有一个元素,逗号不能省,如果省略则类型会改变
y=(10,)
print(y,type(y))

元组的删除与列表的删除是一样的都是使用:del 

 

#元组的访问与遍历
t=('h','t','y')
print(t[0])
t2=t[0:3:2]#元组支持切片操作:从0到3(不包括3)步长为2
print(t2)

#元组的遍历,无序号
for item in t:
    print(item)
#有序号排列
for i in range(len(t)):
    print(i,t[i])

##使用enumerate()函数,有序号
for index,item in enumerate(t):
    print(index,'-->',item)


for index,item in enumerate(t,start=11):
    print(index,'-->',item)

元组的生成式 

 方法一:

#元组的生成式
t=(i for i in range(1,4))
print(t)#此时出现生成器对象
t=tuple(t)
print(t)

 方法二:

t=(i for i in range(1,4))
#遍历(遍历一边之后对象里不存在元素了
 for item in t:
     print(item)

方法三:

t=(i for i in range(1,4))
#使用__next__
print(t.__next__())
print(t.__next__())
print(t.__next__())
#此时将所有元素都取出再转为元组类型就为空的了
t=tuple(t)
print(t)

元组为Python中的不可变序列,列表为可变序列,元组的访问速度比列表快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值