Python列表和元祖相关
索引操作:
li = ['apple','banana','pear','mango',[1,2],'呵呵']
l1 = li[0]# 取第一个
print(l1)
l2 = li[0:]# 取所有
print(l2)
l3 = li[::-1]# 倒取所有
print(l3)
l4 = li[1:3]# 取第一第二
print(l4)
增:
li = ['apple','banana','pear','mango',[1,2],'呵呵']
li.append("随便")# 写入到列表最后
print(li)
li.insert(4,'随便')# 索引插入
print(li)
li.extend("随便")# 两个字拆开
li.extend([1,2,3]) # 拆开以迭代的方式插入在后面
print(li)
下面一个小例子输入q则停止,否则一直写入
while 1:
username = input("请输入:")
if username.strip().lower() == 'q': #lower()判断全小写,strip()去除空格
break
else:
li.append(username)
print(li)
删:
li = ['apple','banana','pear','mango',[1,2],'呵呵']
name = li.pop(1)#pop有返回值 唯一一个有的
print(name,li)
name = li.pop()# 默认删除最后一个 #pop是按索引删
print(name,li)
li.remove("pear") # 按元素删除
print(li)
li.clear() # 清空
print(li)
del li # 这个是直接从内存中删除列表 打印会报错因为没了
print(li)
del li[3:] # 这样切片取删除也行
print(li)
改:
li = ['apple','banana','pear','mango',[1,2],'呵呵']
li[1] = 'tomato'# 索引直接改
li[0] = [1,2,3,4] # 列表也可以直接插入
print(li)
li[0:3] = [1,2,3,'这样','那样','哈哈','嘿嘿'] # 这样插入就是先把索引的占了,其余的不管
print(li) # 比如0:3就是把123换了后面的一样输出
查:
li = ['apple','banana','pear','mango',[1,2],'呵呵']
# for i in li:
# print(i) # 直接用遍历查
# print(li[2:])# 还有就是用索引切片的这种方式直接查
公共方法:
li = ['apple','banana','apple','pear','mango',[1,2],'呵呵']
# l = len(li)# 查几个元素 len字符个数长度
# print(l)
# a = li.count('apple')#gds出现的次数 count字符出现次数
# print(a)
# s = li.index('fsa')# 通过元素查索引
# print(s)
排序:
li = [1,5,6,8,4,9,2]
li.sort()# 从小到大正向排序
print(li)
li.sort(reverse=True)# 倒序排序
print(li)
li.reverse()# 反转 直接倒过来
print(li)
列表嵌套:
li = ['apple','banana','pear','mango',[1,2,demo],'呵呵',15]
name = li[1].capitalize()# 第一个元素首字母替换成大写
print(name)
li[-3][0] = '哈' #list里才能替换 str不能直接替换
li[-2] = li[-2][0].replace('呵','呵哈') # 找到这个字符串直接替换
print(li)
li[-3][2] = li[-3][2].upper()# 把列表里的参数替换成全部大写
print(li)
li[4][1] = 15+18 # 整型可以直接换 还可以作运算
print(li)
列表转换字符串用join
s = 'abcd'
s1 = '+'.join(s)#.join字符串拼接
print(s1) #a+b+c+d
li = ['aa','bb','cc','123','hh']
l1 = ''.join(li) # 无缝拼接字符串
print(l1)
字符串转换成列表用split
s = "abc:DEF:Gab:cjq"
s1 = s.split(':')# 去除分号 以逗号形式相隔,否则默认
print(s1)
#range几种用法
for i in range(10):# 可直接写范围省略前面(0-9)
print(i)
for i in range(0,100):# 设定范围可从任意开始和结束(0-99)
print(i)
for i in range(0,10,2):# 这样写区间也可以range(从0开始,到10,每次范围是2)
print(i) # 最终打印是02468
for i in range(10,0,-2):# 这个是倒着来的每次减2 结果是108642
print(i)
for i in range(0,10,-1):# 这样的啥都没有
print(i)
for i in range(10,-1,-2): # 这样才可以取,中间的是-1就可以取到尾,平常都是顾头不顾尾
print(i)
一个练习把[1,3,5,’dea’,[1,2,’fash’],’dast’]之前所有的符号都去掉,结果:135dea12fashdast
li = [1,3,5,'dea',[1,2,'fash'],'dast']
l1 = str(li).replace('\'','').replace(',','').replace('[','').replace(']','').replace(' ','')
print(l1)
for i in l1:
print(i)
元祖 就是只读列表,可循环查询,可切片。
不能删除,不能添加,不能改。
儿子不能改,孙子可以改。
元祖操作
tu = (1,2,'Ssa',[1,2,'haha'],'demo')
tu[3][2] = tu[3][2].upper() # 元祖里有列表,可改列表 upper()改成全部大写
tu[3].append('see') # 在元祖这个列表里可以任意操作 就是操作列表
print(tu)
看的一套网络教程,记录一下,方便自己以后回顾。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 晚风如诉!
评论