列表的增删改查以及嵌套

列表list

元素可以放各种类型,字符串,数字,bool元组,列表,字典,对象

列表是有序的,可以索引可以切片,跟字符串的索引和切片是一样的操作

如果是取单个的元素,元素本身是什么类型取出来就是什么类型,如果是切片,取出来依然是列表

li = ['haha',123,[14,5,6],'']
print(li[0])
print(li[1:4])

print(li[0::2])

列表的增加

1、在后面追加append

li = ['夏利','小立','李白','seven']
li.append('allen')
print(li)

#对字符串的任何操作,是新创建了一个字符串,但是对列表的操作,操作的还是原来那个列表

# 对一个列表循环输入,如果输入q则退出
li = ['夏利','小立','李白','seven']

while 1:
    name = input('输入名字')
    if name.strip().upper() == 'Q':
        break
    else:
        li.append(name)
        print(li)

2、按索引插入数据insert

li = ['夏利','小立','李白','seven']
li.insert(0,'小猪')
print(li)

3、可迭代的添加extend,也是添加的列表后面,元素只能是可迭代的,会把元素依次迭代添加进去列表

li = ['夏利','小立','李白','seven']
li.extend([1,2,3])
print(li)

列表的删除

1、按索引删除pop

索引默认为空,为空时删除的是最后一位,pop有返回值,可直接打印出来删除的是哪个元素

li = ['夏利','小立','李白','seven']
print(li.pop())
print(li)

2、按元素删除remove

li = ['夏利','小立','李白','seven']
li.remove('夏利')
print(li)

3、清空列表clear

li = ['夏利','小立','李白','seven']
li.clear()
print(li)

4、删除列表del

li = ['夏利','小立','李白','seven']
del li
print(li)

打印会报错,因为不存在这个列表

5、切片删除一块元素

li = ['夏利','小立','李白','seven']
del li[1:3]
print(li)

列表的修改

1、根据索引直接赋值

li = ['夏利','小立','李白','seven']
li[1] = '李总'
print(li)

2、切片修改,是会把替换的元素迭代插入,所以替换的元素一定是可迭代的

li = ['夏利','小立','李白','seven']
li[0:3]=[1,2,3,'娃哈哈']
print(li)

列表的查询

1、for循环

2、切片查询

print(li[1:3])

公共方法

1、len()

li = ['夏利','小立','李白','seven']
print(len(li))

2、count

li = ['夏利','小立','李白','seven']
l = li.count('seven')

3、通过元素找索引,列表只有index,没有找到会报错,字符串才有find

li = ['夏利','小立','李白','seven']
print(li.index('seven'))

4、排序:从小到大,sort参数默认是False

li = [3,2,1,4,7,9,5]
li.sort()
print(li)

5、排序:从大到小,把参数改为True

li = [3,2,1,4,7,9,5]
li.sort(reverse=True)
print(li)

6、翻转列表顺序

li = [3,2,1,4,7,9,5]
li.reverse()
print(li)

 

posted @ 2021-03-22 23:16  吃啥呦?  阅读(83)  评论(0)    收藏  举报