[Python]B站学习笔记---列表(List)
2023-09-11 14:22:09 时间
列表(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)
以上就是列表常用的一些方法,如果有不正确的,欢迎在下方评论区指正~~~
相关文章
- python中的range与xrange
- Python MySQLdb模块连接操作mysql数据库实例_python
- Python 日期和时间_python 当前日期时间_python日期格式化
- Python 入门(十)列表生成式
- 【python基础】Linux环境下非root用户安装Python和第三方包
- 【Python 22】52周存钱挑战2.0(列表list和math函数)
- Python实现比较两个列表(list)范围
- python生成式:列表、字典、集合
- coroutine in Python Tornado and NodeJs
- python: easyocr的安装和使用(easyocr 1.6.2 / Python 3.7.15 )
- Python 一次for遍历多个列表及遍历时获取index
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Scale/Scale的Command)
- Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合
- 已解决Visit python.org to download an earlier version of Python.
- Python采集某乎专栏文章保存成pdf
- Python 数据分析入门:搭建环境(基础必备)
- 【华为机试真题 Python实现】书籍叠放问题【2022 Q1 Q2 | 200分】
- Jinja2迭代Python中的list列表和dict字典
- python函数中把列表(list)当参数时的"入坑"与"出坑"
- 雅虎财经数据python 网络爬虫stock股票 用 Python 通过雅虎财经获取股票数据
- aes python加密
- 【python中级】 list列表实现Queue队列先进先出的功能
- 【Leetcode刷题Python】从列表list中创建一颗二叉树
- 【Leetcode刷题Python】300. 最长递增子序列
- Python——列表、元组、字典、集合区别
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- Python列表推导式——List
- 〖Python自动化办公篇⑲〗 - python实现邮件自动化 - 邮件发送
- 学习Python(六):列表