原创:python数据类型list详解
发表于:2024-07-02 09:27:53浏览:137次
引言
python数据类型list详解,本篇文章用list各种操作带你了解,废话不多说,开干
演示
""" **********************************
增
********************************** """
# 头部插入
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
mylist.insert(0,"饭真香")
print(mylist)
# 输出 => ['饭真香', '张三', {'age': '98岁'}, ['s1', 's2'], ('t1', 't2')]
# 第二个元素后面插入
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
mylist.insert(2,"饭真香")
print(mylist)
# 输出 => ['张三', {'age': '98岁'}, '饭真香', ['s1', 's2'], ('t1', 't2')]
# 尾部追加
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
mylist.append("饭真香")
print(mylist)
# 输出 => ['张三', {'age': '98岁'}, ['s1', 's2'], ('t1', 't2'), '饭真香']
"""
去重
通过定义 remove_duplicates 函数,可以对每个item进行去重
要注意的是'str'类型的数字和'int'类型的数字是有区分的,'100'和100不会去重,'100'和'100'会去重
"""
mylist = ["张三",{"age":"98岁"},"100",{"age":"98岁"},100,("t1","t2"),200,None,False,"100","张三"]
def remove_duplicates(lst):
return [x for i, x in enumerate(lst) if x not in lst[:i]]
mylist = remove_duplicates(mylist)
print(mylist)
# 输出 => ['张三', {'age': '98岁'}, '100', 100, ('t1', 't2'), 200, None, False]
# 合并
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
mylist2 = [200,None,"90",'fan',False,"100","张三"]
newlist = mylist + mylist2
print(newlist)
# 输出 => ['张三', {'age': '98岁'}, ['s1', 's2'], ('t1', 't2'), 200, None, '90', 'fan', False, '100', '张三']
"""
排序
升序:list.sort()
降序:list.sort(reverse=True)
注意事项:
1、list每项值类型,要么全部 'int',要么全部 'str',不能混合,否则报错
2、str 类型里面可以有'数字',但是在排序的时候并不是按‘数字’值大小去排序,而是按照‘数字’第一个值去排,比如'300','4'按照升序排,那么'300'排在'4'前面
"""
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
# mylist.sort()
# print(mylist)
# TypeError: '<' not supported between instances of 'list' and 'tuple'
mylist = [200,None,"90",'fan',False,"100","张三"]
# mylist.sort()
# print(mylist)
# 输出 => TypeError: '<' not supported between instances of 'bool' and 'str'
mylist = [100,20,50,"30"]
# mylist.sort()
# print(mylist)
# 输出 => TypeError: '<' not supported between instances of 'str' and 'int'
mylist = ['hh','ss','bb',33]
# mylist.sort()
# print(mylist)
# 输出 => TypeError: '<' not supported between instances of 'int' and 'str'
mylist = [100,20,50,30]
mylist.sort()
print(mylist)
# 输出 => [20, 30, 50, 100]
mylist3 = ['hh','ss','bb','dd']
mylist3.sort()
print(mylist3)
# 输出 => ['bb', 'dd', 'hh', 'ss']
mylist = ['hh','ss','bb','dd','100','30','200']
mylist.sort()
print(mylist)
# 输出 => ['100', '200', '30', 'bb', 'dd', 'hh', 'ss']
""" **********************************
改
********************************** """
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
# 修改第一个元素
mylist[0] = "李四"
print(mylist)
# 输出 => ['李四', {'age': '98岁'}, ['s1', 's2'], ('t1', 't2')]
""" **********************************
查
********************************** """
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
# 循环查询
for x in mylist:
print(type(x),x)
# 输出 => <class 'str'> 张三
# 输出 => <class 'dict'> {'age': '98岁'}
# 输出 => <class 'list'> ['s1', 's2']
# 输出 => <class 'tuple'> ('t1', 't2')
# 循环查询(带下标)
for index,x in enumerate(mylist):
print(type(index),index,type(x),x)
# 输出 => <class 'int'> 0 <class 'str'> 张三
# 输出 => <class 'int'> 1 <class 'dict'> {'age': '98岁'}
# 输出 => <class 'int'> 2 <class 'list'> ['s1', 's2']
# 输出 => <class 'int'> 3 <class 'tuple'> ('t1', 't2')
# 获取个数和类型
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
mylen = len(mylist)
print(mylen,type(mylen))
# 输出 => 4 <class 'int'>
# 取第一个元素
myval = mylist[0]
print(myval)
# 输出 => 张三
# 取最后一个元素
myval = mylist[-1]
print(myval)
# 输出 => ('t1', 't2')
# 取前2个值,注意索引从0开始。
myval = mylist[:2] # 方式1
myval = mylist[0:2] # 方式2
print(myval)
# 输出 => ['张三', {'age': '98岁'}]
# 当:后面的数值为0时
myval = mylist[0:0]
print(myval)
# 输出 => []
# 当:后面的数值为负数时,可以理解为删除后面的几个后返回的数据
myval = mylist[0:-1]
print(myval)
# 输出 => ['张三', {'age': '98岁'}, ['s1', 's2']]
myval = mylist[0:-2]
print(myval)
# 输出 => ['张三', {'age': '98岁'}]
myval = mylist[0:-3]
print(myval)
# 输出 => ['张三']
# 从第二个元素(含)取到尾,注意索引从0开始。
myval = mylist[1:]
print(myval)
# 输出 => [{'age': '98岁'}, ['s1', 's2'], ('t1', 't2')]
# 从第二个元素(含)往后取100个,虽然没有100个元素,但是这样取值也不会报错,注意索引从0开始。
myval = mylist[1:100]
print(myval)
# 输出 => [{'age': '98岁'}, ['s1', 's2'], ('t1', 't2')]
# 取后2个值/取从倒数第2个元素(含)取到尾
myval = mylist[-2:]
print(myval)
# 输出 => [['s1', 's2'], ('t1', 't2')]
""" **********************************
删
********************************** """
# 通过元素的值删除
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
mylist.remove({'age': '98岁'})
print(mylist)
# 输出 => ['张三', ['s1', 's2'], ('t1', 't2')]
# 通过下标删除,注意索引从0开始。
mylist = ["张三",{"age":"98岁"},["s1","s2"],("t1","t2")]
# del mylist[1] # 方式1
mylist.pop(1) # 方式2
print(mylist)
# 输出 => ['张三', ['s1', 's2'], ('t1', 't2')]
栏目分类全部>
推荐文章
- php10进制转16进制(浮点数)
- layui在弹框中打开页面
- 微信支付错误:openssl_x509_read(): supplied parameter cannot be coerced into an X509 certi
- fastadmin表单input后面带按钮示例
- fastadmin表单select示例
- python中AES加密和解密
- 在vue中使用setTimeout(function,delay) 和 setInterval(function,delay)
- Mysql字符串替换更新
- php深度合并数组array_merge_recursive
- fastadmin列表添加带确认的按钮