[Python]B站学习笔记---列表(List)

[Python]B站学习笔记---列表(List),第1张

列表(List) 元素

列表中涉及的每一个数据(值),在python列表包容性比较强,不太计较数据类型,也就是说List里面什么类型( int /str/ boolen/ list 等)的数据都可以存放;

索引

即元素存放的位置 ,也就是元素在列表中放在第几位置,不过索引计数:从0 开始;

表示方法

[]

即:用[]表示的数据为列表(List);

创建列表 空列表
list1 = []
单元素列表
list2 = ['first']
多元素列表
list3 = ['python', 'java', 'c#']
类型查看
list4 = ['python', 'java', 'c#']
print(type(list1))

list5 = ['python', 5, '88']
print(type(list2))
列表访问 正向

正索引:从前往后计数,从0开始计数,即最前面值的索引为:0;

print(list4[1]) #'java'
print(list4[2]) #'c#'
print(list4[4]) #IndexError: list index out of range

IndexError: list index out of range:超出索引,数据中本来只有3个元素,索引只到2,现在是要去索引为4的值,这个值并不存在,所以会报错;

逆向

负索引:从后往前计数,从-1开始计数,即最后面值的索引为:-1;

print(list1[-1]) # -1 从后往前计算,倒数第一个
print(list1[-2])
print(list1[-3])
print(list1[-4]) # IndexError: list index out of range
列表切片

切片规则:

[a:b] :

a:起始索引

b :结束索引,但是最后一个值取不到;

b-1 为最后一个值

demo:

list6 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']

场景1:

print(list6[2:5])  
#[):取头不取尾 ['c#', 'Ruby', 'js']

场景2:

print(list6[1:]) 
#从1至最后['java', 'c#', 'Ruby', 'js', 'html', 'css']

场景3:

print(list6[:4]) 
#['python', 'java', 'c#', 'Ruby']

场景4:

print(list6[-2:]) 
#['html', 'css']
列表改值

根据索引来修改列表中数值,可以是正索引,也可以是负索引:

list7 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']

正索引

# 改值
list7[1] = 'go'
print(list1)

负索引

list7[-1] = 'go'
print(list1)
列表长度

len()方法可以获取列表的长度;

# len():length 长度
print(len(list1))
列表遍历
list8 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']
方法一

直接遍历列表中元素,直接拿值;

# 方法一:
for i in list8:
    print(i)
方法二

间接遍历,通过遍历索引,根据索引再拿取数值

# 方法二
for i in range(len(list8)):
    # print(i)
    # print(list1[i])
    print(i + 1, " : ", list8[i])
添加元素 添加方式一

append():方法实现列表元素的添加;

每次添加都是在列表的尾部添加

# 添加元素

# test = []
# test.append('abc')
# test.append(66)
# test.append('python')
#
# print(test) #['abc', 66, 'python']

添加方式二

insert(),可以指定位置添加;

test.insert(1,88)
test.insert(-1,886)
print(test)
删除元素

删除元素常用的有四种方式:remove(), del() ,pop(),clear();

remove():移除指定元素:

# 删除元素 remove del pop clear
test.remove(886)
print(test)

del():根据索引删除元素:

del test[0]
print(test)

pop():从末尾做元素删除:

test.pop()
print(test)
test.pop(1)
print(test)

clear():清空列表:

print("before : ",test)
test.clear()
print('after: ',test)
元素校验

in:列表中是否存在该元素,校验

单独校验
list9 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']
if 'python' in list9:
	print('pass')
人机交互元素校验
# in:列表中是否存在该元素,校验
list9 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']
language = input("输入你想查找的内容:")
if language in list9:
    print('pass')
else:
    print('fail')
列表生成器:

一行代码完成所有工作

单层列表复制

list1复制到空列表list2

list1 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']

list2 = []
# 方法一
for i in list1:
    list2.append(i)
print('list2:', list2)
单层列表生成器实现列表复制
# 方法二:单层for循环生成器
list3 = [i for i in list1]
print('list3:', list3)
双层列表复制
list1 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']
tmp = [1, 2, 3, 4]
# 方法一:
for i in list1:
    for j in tmp:
        print(i,j)
双层列表生成器实现列表复制
list1 = ['python', 'java', 'c#', 'Ruby', 'js', 'html', 'css']
tmp = [1, 2, 3, 4]

# 方法二:双层for循环生成器
list4 = [[i, j] for i in list1 for j in tmp]
print('list4:', list4)
print('len:',len(list4))
列表计数

count():计数,统计元素在列表中出现的次数

test = [999, 88, 66, 886, 88, 66, 12, 18, ]

# count():计数,统计元素在列表中出现的次数
print(test.count(88))
print(test.count('python'))
列表索引

index():指定值的第一个元素索引

# index:指定值的第一个元素索引
print(test.index('python'))
列表翻转

reverse()

test.reverse()
print(test)
列表排序

sort()

# sort:排序
test.sort()
print(test)
test.sort(reverse=False) #从小到大
print(test)
test.sort(reverse=True) #从大到小
print(test)
列表合并
# 两个list列表
l1 = [1, 2, 3, 4]
l2 = ['a','b','c','d']
# 连接 二合一
# [1, 2, 3, 4,'a','b','c','d']

合并一
# 方法一
l3 = []
for i in l1:
    l3.append(i)
for i in l2:
    l3.append(i)
print(l3)
合并二
# 方法二
l3 = l1 + l2
print(l3)
合并三
l1.extend(l2)
print(l1)

以上就是列表常用的一些方法,如果有不正确的,欢迎在下方评论区指正~~~

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/577944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存