17.列表类型内置方法

一、用途

按照索引顺序存储多个值,多个装备,多个爱好,多门课程,多个朋友

二、定义

[]内可以有多个任意类型的值,使用逗号分割元素

my_hobbies =['sing','jump','rap','basketball']
print(my_hobbies)

#['sing', 'jump', 'rap', 'basketball']

类型转换

但凡能够被for循环遍历的类型都可以当做参数传给list ( )转成列表

l = list('hello world')
print(f'l:{l}')

#l:['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

s = list({'s1':'123','s2':'456'})
print(s)
#['s1', 's2']

三、常用操作+内置方法

3.1按索引取值

正向+反向取值,既可以存也可以取

索引不存在的则进行报错

name = ['lwx','hanye','haha']
print(name[1])
print(name[-1])
print(name[:2])

#hanye
#haha
#['lwx', 'hanye']

3.2 切片

name = ['lwx','hanye','haha','happy','hiahiahia']
print(name[0::2])

# ['lwx', 'haha', 'hiahiahia']

3.3 长度

#返回列表长度(元素个数)
name = ['lwx','hanye','haha','happy','hiahiahia']
print(len(name))

#5

3.4 成员运算 in和not in

#判断元素是否在列表中
name = ['lwx','hanye','haha','happy','hiahiahia']

print('lalala' not in name)
print('lwx'and 'hanye' in name)

#True
# True

3.5 追加值

#在结尾追加
name = ['lwx','hanye','haha','happy','hiahiahia']
name.append('forever')
print(name)

# ['lwx', 'hanye', 'haha', 'happy', 'hiahiahia', 'forever']

3.6 删除

#通用的删除方法,且没有返回值
name = ['lwx','hanye','haha','happy','hiahiahia']
del name[4]
print(name)
# ['lwx', 'hanye', 'haha', 'happy']

#删除多个元素
name = ['lwx','hanye','haha','happy','hiahiahia']
del name[2:]
print(name)
# ['lwx', 'hanye']

3.7 循环

name = ['lwx','hanye','haha','happy','hiahiahia']
for i in name:
    print(i)
    
# lwx
# # hanye
# # haha
# # happy
# # hiahiahia

四、其他操作

4.1 insert()

#插入值,可以指定位置
name = ['lwx','hanye','haha','happy','hiahiahia']
name.insert(1,'like')
name.insert(3,'forever')
print(name)

# ['lwx', 'like', 'hanye', 'forever', 'haha', 'happy', 'hiahiahia']

4.2 pop()

#list之pop(索引),不写索引pop()默认删除最后一个元素
name = ['lwx','hanye','haha','happy','hiahiahia']
name.pop()
print(name)
name.pop(2)
print(name)
# ['lwx', 'hanye', 'haha', 'happy']
# # ['lwx', 'hanye', 'happy']

#POP的返回值为删除的元素
name = ['lwx','hanye','haha','happy','hiahiahia']
res = name.pop(2)
print(res)
# haha

4.3 remove()

#移除元素,如果没有这个元素则报错
name = ['lwx','hanye','haha','happy','hiahiahia']
name.remove('hiahiahia')
print(name)

# ['lwx', 'hanye', 'haha', 'happy']

#remove的返回值为None
name = ['lwx','hanye','haha','happy','hiahiahia']
res = name.remove('hiahiahia')
print(res)
# None

4.4 count()

#对;列表中某一元素出现的次数进行统计
name = ['lwx','hanye','haha','happy','hiahiahia','lwx','hanye']
print(name.count('hanye'))

#2

4.5 index()

#返回列表中某一元素对应的索引
name = ['lwx','hanye','haha','happy','hiahiahia','lwx','hanye']
print(name.index('haha'))

#2

4.6 clear()

#清空列表
name = ['lwx','hanye','haha','happy','hiahiahia','lwx','hanye']
name.clear()
print(name)

#[]

4.7 copy()

#复制列表
name = ['lwx','hanye','haha','happy','hiahiahia']
name2= name.copy()
print(name2)

# ['lwx', 'hanye', 'haha', 'happy', 'hiahiahia']

4.8 extend()

#把可迭代对象放进另一个列表后面
name1 = ['lwx','hanye','haha','happy','hiahiahia']
name2 = ['520']
name1.extend(name2)
print(name1)

# ['lwx', 'hanye', 'haha', 'happy', 'hiahiahia', '520']

l = [1,2,3,4]
s= '123'
l.extend(s)
print(l)
# [1, 2, 3, 4, '1', '2', '3']

4.9 reverse()

#反转顺序,不是排序,只是将列表倒过来
name = ['lwx','hanye','haha','happy','hiahiahia']
l = name.reverse()
print(name)
# ['hiahiahia', 'happy', 'haha', 'hanye', 'lwx']


4.10 sort()

#排序操作
# 列表中必须全部为同一类型的元素才可以进行排序
l1 = [1,5,7,8,9,3,5]    #默认从小到大的升序
l1.sort()
print(l1)
# [1, 3, 5, 5, 7, 8, 9]
l2 = [1,5,7,8,9,3,5]

l2.sort(reverse=True)       #从大到小的降序
print(l2    )
# [9, 8, 7, 5, 5, 3, 1]

五、存一个或多个值

用于存储多个值

六、有序或无序

列表是有序的,可以按照索引取值

hobby_list = ['read', 'run', 'girl']
print(f'first:{id(hobby_list)}')
hobby_list[2] = ''
print(f'second:{id(hobby_list)}')

# first:35552776
# second:35552776

七、可变或不可变

是可变数据类型

八、大小比较

字符串的大小是按照ASCT码表的先后顺序加以区别,表中排在后面的字符大于前面的字符

print('a'>'b')
print( 'abz'>' abcdefa')
# False
# True

列表也可以比大小,原理同字符串样,但是对应位置的元素必须是同种类型

l1=[1,'abc','zaa']
l2=[1,'abc',' zb']
print(l1 < l2)
# False

九、队列和堆栈

9.1 队列

# 队列:FIFO,先进先出
l = []
#入栈操作
l.append('first')
l.append('second')
l.append('third')
print(l)
#出队操作
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
# ['first', 'second', 'third']
# first
# second
# third

9.2 堆栈

# 2、堆栈: LIFO,后进先出
l = []
#入栈操作
l.append('first')
l.append('second')
l.append('third')
print(l)
#出队操作
print(l.pop())
print(l.pop())
print(l.pop())
# ['first', 'second', 'third']
# third
# second
# first
posted @ 2020-03-11 16:54  祥SHAO  阅读(227)  评论(0编辑  收藏  举报