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])

  

  

 

 

 

 
posted @ 2020-12-17 19:52  暴躁的产品  阅读(69)  评论(0)    收藏  举报