python学习day4
一、列表的切片和索引
list = ['alex',[1,2,3],'wusir','egon','女神','taibai'] #列表的索引和切片 list1 = list[0] list2 = list[3] list3 = list[0:3] print(list1) print(list2) print(list3)
二、列表的增删改查(对愿列表进行操作)
list1 = ['alex','wusir','egon','女神','taibai']
#列表的增
list.append('嘻嘻哈哈') #在列表的结尾增加指定元素
print(list)
list.insert(4,'帅哥') #在列表的指定索引位置后方增加指定索引
print(list)
list.extend('元旦') #在列表的尾部增加多个元素,把参数拆解为单个最小元素,注意参数必须为可迭代对象,非数字
print(list)
list.extend([1,2,3])
print(list)
##实例:用户可持续输入一个字符串,将全部字符串存到一个列表中并输出,若输入q则停止并输出列表
name_list = []
while 1:
add_name = input('请输入姓名:')
if add_name.upper() == 'Q':
break
elif bool(add_name) == True:
name_list.append(add_name)
print(name_list)
# 列表的删
list2 = ['alex','wusir','egon','女神','taibai']
list2.pop(2) #按照列表的索引删除元素,不填写索引默认删除最后一个,list2.pop(2)为可输出内容,print(list2.pop(2))为egon
print(list2)
list2.remove('女神') #按照元素删除,无返回值
print(list2)
del list2[1:2] #按切片删除列表中的元素,不切片则删除整个列表
print(list2)
list2.clear() #清空列表
print(list2)
# 列表的改 list3 = ['alex','wusir','egon','女神','taibai'] list3[1] = '男神' print(list3) #按照索引去修改 list3[0:2] = '一个一个1212' #按照索引删除元素后,赋值结果 拆分为单个最小元素插入到切片的位置 print(list3) list3[0:2] = [1,2,3,'一个一个'] print(list3)
#列表的查
list4 = ['alex','wusir','egon','女神','taibai']
for i in list4: #遍历列表中的每个元素
print(i)
print(list4[0:2]) #输出列表中的前两个元素,切片
三、公共方法
#列表的常用操作 list4 = [1,3,4,6,57,7,3,345,32] print(len(list4)) #列表的长度 print(list4.count(6)) #列表中某元素出现的次数 list4.sort() #列表正向排序,从小到大 print(list4) list4.sort(reverse=True) #列表的倒序排列,从大到小 print(list4) list4.reverse() #翻转 print(list4)
四、列表的嵌套
li = ['taibai','用户1','用户2',['alex','egon',89],23] li[0] = li[0].capitalize() #先取出列表中的第一个元素,将其首字母大写然后、替换元列表 print(li) #将列表中嵌套的列表的第一个元素改为全大写 li[3][0] = li[3][0].upper() #使用按索引修改 print(li)
五、元组
1.只读列表,可循环查询,可切片
2.元祖更改:第一级不能修改,第二级可能可以改(元组的子元素如果是列表,列表里的元素可以修改)
yz = (1,23,'alex',[2,3,4,'taibai'],'egon')
print(yz[0:4]) #元组是只读列表,只能查询,可循环,可切片
for i in yz:
print(i)
yz[3][3] = yz[3][3].upper() #将元祖中元素taibai 改为大写
print(yz)
yz[3].append('sb')
print(yz)
五、其他方法
1.join的用法
s = 'alex' s1 = '+'.join(s) #参数必须为可迭代对象(有多个元素组成,str、list、tup、dict集合),将可迭代对象的每个元素用+连接 print(s1)
li = ['taibai','alex','wusir','egon','女神',] s = '++'.join(li) #将列表中每个元素提取出来用 ++ 连接 print(s)
列表转化为字符串用join ,字符串转化为列表用 split 分隔
2.range的用法:(首,尾,步长)是一个按数字排列的数字,顾头不顾尾
for i in range(0,10,2): #输出从0到10(不包含10)步长为2的数字
print(i)
for i in range(10): #0开头的可以不用写开头
print(i)
for i in range(10,0,-1)# #倒序输出,不包含0
print(i)
for i in range(10,-1,-1): #倒序输出,包含0
print(i)
六、课后作业
1、将列表的所有层级的子元素按照顺序打印出来
li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds']
for i in li:
if type(i) == list:
for m in i:
print(m)
else:print(i)
li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds']
for i in range(len(li)): #range(len(li))表示列表元素个数
if type(li[i]) == list: #确定列表索引对应的元素是否为列表
for j in li[i]:
print(j)
else:print(li[i])

浙公网安备 33010602011771号