python全栈-Day 4

一、列表的增删改查

1、列表是有序的,可以进行索引和切片操作,同字符串,参照 python全栈-Day 3
li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
#列表的增
li.append('jingjing')  #在原列表尾部增加一个元素,若打印本行,则没有返回值结果为 None
print(li)
li.insert(4,'汪晓')  #在原列表索引4的位置,插入一个元素
print(li)
li.extend('爸爸')  #在原列表尾部增加多个元素,把参数拆分为单个最小元素,参数必须为可迭代类型,数字是不行的
print(li)

#列表的删
name = li.pop(-1)  #按照索引删除,默认删除末尾元素。不建议使用,因为多次使用的索引值会变化可能会删除了错误的元素
print(li,name)  #该方法有返回值,返回值为删除的索引对应的值
name = li.remove('爸')  #按照元素删除,该方法无返回值
print(li,name)
# name = li.clear()  #清空列表,该方法无返回值
# print(li,name)
# del li   #在内存中删除列表,此时打印会报错,因为未被定义
# print(li)
del li[3:5]  #可切片删除
print(li)

#列表的改
li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
li[5] = '女神'  #按照索引修改
print(li)
li[0:2] = '云姐哈哈123'  #切片修改,删除切片的元素,将赋值结果 拆分为单个最小元素插入到切片的位置
print(li)
li[0:4] = [1,2,3,'云姐哈哈123']
print(li)

#列表的查
li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
print(li[0:4])
for i in li:
    print(i)
一个实例
#实例:用户可持续输入一个字符串,将全部字符串存到一个列表中并输出,若输入q则停止输入
staff_list = []
while 1:
    add_name = input('请输入新增的姓名')
    if add_name.upper() == 'Q':
        break
    elif bool(add_name) == True:
        staff_list.append(add_name)
print(staff_list)

二、列表的其他方法

#列表的排序
li = [1,6,3,6,8,9,3,5,2]
li.reverse()  #翻转
print(li)
li.sort()  #正序排序
print(li)
li.sort(reverse = True)  #倒序排序
print(li)

#公共方法
li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
print(len(li))  #列表长度
print(li.count(123))  #计算列表中某元素的个数
print(li.index('wusir'))  #通过元素找索引,列表只有index没有find

三、列表的嵌套

li = ['taibai','王静','汪晓',['alex','egon',89],23]
print(li[3][1][2].capitalize())
li[2] = li[2].replace('晓','xiaoxiao')
li[3][0] = li[3][0].upper()

print(li)

四、元组

tu = (1,23,'alex',[2,3,4,'taibai'],'egon')
print(tu[0:4])  #元组是只读列表,只能查询,可循环,可切片
for i in tu:
    print(i)
tu[3][3] = tu[3][3].upper()  #儿子不能改,孙子可能可以改(元组的元素为列表,该列表不能整个修改,但是该列表的子元素可以修改)
print(tu)
tu[3].append('sb')
print(tu)

 五、其他方法

s = 'alex'
print('=='.join(s))  #参数必须为可迭代对象(有多个元素组成,str、list、tup、dict集合),将可迭代对象的每个元素用==连接
li = ['taibai','王静','jing']
print(''.join(li))   #列表转化为字符串用join(其中列表全部参数必须为str),字符串转换为列表用split

for i in range(0,10,2):  #range(首,尾,步长)是一个按数字排列的数字,顾头不顾尾
    print(i)
for i in range(10):
    print(i)
for i in range(10,0,-1):  #关于参数的限制,参照切片,python全栈-Day 3
    print()

 课后作业

1、将列表的所有层级的子元素按照顺序打印出来

li = ['alex',1,2,[1,['wangjing'],'jingjing',(1,2,'wangjing')]]
for i in li:
    if type(i) == list:
        li[li.index(i):li.index(i)+1] = i
    elif type(i) == tuple:
        li[li.index(i):li.index(i) + 1] = i
    else:
        continue
print(li)

猜你喜欢

转载自www.cnblogs.com/txbbkk/p/9302231.html
今日推荐