Python学习笔记(四)

列表的操作

1、索引、切片

基本同字符串的索引和切片

2、增删改查

#增 append insert extend (操作均没有返回值)
# append 追加,给列表的最后面追加一个元素
s = ['a','b','wd']
s.append('666')
print(s)        #['a', 'b', 'wd', '666']

# insert  插入在列表的任意位置插入元素(第一个参数为插入位置的索引)
s = ['a','b','wd']
s.insert(1,'666')
print(s)        #['a', '666', 'b', 'wd']

# extend  迭代着追加,在列表的最后面迭代着追加一组数据
s = ['a','b','wd']
s.extend('N2是')
print(s)        #['a', 'b', 'wd', 'N', '2', '是']

#删 pop remove clear del (其中只有pop有返回值,返回内容为删除的元素)
# pop  通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素
s = ['a', 'b', 'wd', 'N', '2', '是']
element = s.pop(1)    #不传参默认删除最后一个
print(element,s)      #b ['a', 'wd', 'N', '2', '是']

# remove  通过元素删除列表中该元素
s = ['a', 'b', 'wd', 'N', '2', '是']
s.remove('wd')    #不传参默认删除最后一个
print(s)

# clear 清空列表
s = ['a', 'b', 'wd', 'N', '2', '是']
s.clear()
print(s)    #[]

# del 按照索引删除该元素/切片删除该元素/切片(步长)删除该元素
s = ['a', 'b', 'wd', 'N', '2', '是']
del s[2]
print(s)      #['a', 'b', 'N', '2', '是']

s = ['a', 'b', 'wd', 'N', '2', '是']
del s[2:]
print(s)      #['a', 'b']

s = ['a', 'b', 'wd', 'N', '2', '是']
del s[::2]
print(s)      #['b', 'N', '是']

#改
#按照索引值
s = ['a', 'b', 'wd', 'N', '2', '是']
s[2] = 'sb'
print(s)   #['a', 'b', 'sb', 'N', '2', '是']
#按照切片改值(迭代着增加)
s = ['a', 'b', 'wd', 'N', '2', '是']
s[2:] = 'sba'         #按照切片规则把切出来的片段替换为字符串迭代后的结果
print(s)   #['a', 'b', 's', 'b', 'a']
#按照切片(步长)改值(必须一一对应)
s = ['a', 'b', 'wd', 'N', '2', '是']
s[2:5:2] = 'sb'
print(s)        #['a', 'b', 's', 'N', 'b', '是']

#查 通过切片或者循环
for i in s:
print(i)

print(s[0:2])

3、排序、嵌套

#计算列表的长度用len(),用法基本同字符串的操作

#排序
li = [1,5,4,7,6,2,3]
li.sort()             #正向排序
print(li)             #[1,2,3,4,5,6,7]
li.sort(reverse=True)   #反向排序
li.reverse()          #反转

#嵌套
s = ['avsd','vd',23,['sd','csdv',7],'acr']
#可以类比C++中的二维数组对其中嵌套的列表元素进行操作
print(s[3][1])     #csdv

元组的操作

元祖 只读列表,可循环查询,可切片。元组中的元素不能修改,但是元组中的诸如列表内的元素可能可以修改

tu = (1,2,3,'alice',[2,3,4,'jason'],'mike')
#索引和切片参考列表的相关操作
#如这个元组只能对其中的列表进行相关修改,如:
tu[4][3]=tu[4][3].upper()
tu[4].append('sb')

其他操作

# list --> str  join
li = ['jason','alice','mike','hacker']
s = '+'.join(li)            
#join作用是把原列表(字符串也可)迭代拆分之后在每两个元素间用引号内符号隔开
print(s)      #jason+alice+mike+hacker

# str --> list  split()   参考

# range 三个参数依次为始、末和步长,步长缺省则默认为1,起始数字缺省则默认为0,操作基本同切片

两道例题

发表评论

您的电子邮箱地址不会被公开。