python基础-数据类型(2),,4.列表(list)
python基础-数据类型(2),,4.列表(list)
4.列表(list)
结构:lst = [1,2,‘a‘,True] 有序,可变数据
列表的增删改查:
增:
append() 追加,在列表的最末尾添加
lst = [1,2,3,‘aa‘,4,5,‘bb‘]lst.append(6)print(lst)结果:[1, 2, 3, ‘aa‘, 4, 5, ‘bb‘, 6]
insert() 插入,指定下标进行插入添加
lst = [1,2,3,‘aa‘,4,5,‘bb‘]lst.insert(3,‘cc‘)print(lst)结果:[1, 2, 3, ‘cc‘, ‘aa‘, 4, 5, ‘bb‘]
extend() 扩展,迭代添加
lst = [1,2,3,‘aa‘,4,5,‘bb‘]lst.extend([6,‘cc‘])print(lst)结果:[1, 2, 3, ‘aa‘, 4, 5, ‘bb‘, 6, ‘cc‘]
lst1 + lst 2
lst1 = [1,2,3]lst2 = [‘aa‘,‘bb‘,‘cc‘]print(lst1 + lst2)结果:[1, 2, 3, ‘aa‘, ‘bb‘, ‘cc‘]
删:
del lst 删除整个列表
del lst[2] 通过下标进行删除
lst = [1,2,3,‘aa‘,‘bb‘]del lst[2]print(lst)结果:[1, 2, ‘aa‘, ‘bb‘]
del lst[0:3] 通过切片进行删除
lst = [1,2,3,‘aa‘,‘bb‘]del lst[0:2]print(lst)结果:[3, ‘aa‘, ‘bb‘]
remove 指定内容删除
lst = [1,2,3,‘aa‘,‘bb‘]lst.remove(‘aa‘)print(lst)结果:[1, 2, 3, ‘bb‘]
pop 没有指定的情况下,默认删除最后一个,和del一样,可以通过下标,切片进行删除
lst = [1,2,3,‘aa‘,‘bb‘]lst.pop()print(lst)结果:[1, 2, 3, ‘aa‘]
#默认删除
lst = [1,2,3,‘aa‘,‘bb‘]lst.pop(2)print(lst)结果:[1, 2, ‘aa‘, ‘bb‘]
#通过索引
clear 清空
lst = [1,2,3,‘aa‘,‘bb‘]lst.clear()print(lst)结果:[]
改:
通过下标.切片,步长进行修改
lst = [‘杨紫‘,‘高圆圆‘,‘刘亦菲‘,‘关晓彤‘]lst[0] = ‘杨幂‘print(lst)结果:[‘杨幂‘, ‘高圆圆‘, ‘刘亦菲‘, ‘关晓彤‘]#通过下标
lst = [‘杨紫‘,‘高圆圆‘,‘刘亦菲‘,‘关晓彤‘]lst[0:3] = ‘123456‘print(lst)结果:[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘关晓彤‘]#通过切片,长度可以不一样,都会替换到列表当中
lst = [‘杨紫‘,‘高圆圆‘,‘刘亦菲‘,‘关晓彤‘]lst[0:3:2] = ‘ns‘print(lst)结果:[‘n‘, ‘高圆圆‘, ‘s‘, ‘关晓彤‘]#通过步长,要注意替换的内容必须和步长内容长度相等,不然那会报错
查:
for循环
lst = [‘杨紫‘,‘高圆圆‘,‘刘亦菲‘,‘关晓彤‘]for i in lst: print(i)结果:杨紫高圆圆刘亦菲关晓彤
其他操作:
sort 排序,默认升序
reverse 翻转 sort(reverse = True) 降序
lst = [1,4,6,77,742,23,8]lst.sort(reverse=True)print(lst)结果:[742, 77, 23, 8, 6, 4, 1]
count 统计
index 通过内容获取下标
列表嵌套:
lst = [1,2,34,[45,5,[‘hello‘]]]print(lst[3][2][0])结果:hello
5.元祖(tuple):
基本结构: tu = (1,‘2‘,‘我‘)
一个不可变的列表. 有序 不可变数据
可以使用下标,切片和循环,但是不能进行修改
要注意的是,如果元祖中只有一个元素,要添加一个逗号,不然数据类型就不是元祖
range:
范围.
range(1,6,2)
第一个1为起始位置,第二个6为终止位置,第三个2为步长
但是range本身是一个范围,想要达到切片和步长的效果,可以利用list进行转换使用:
print(range(0,5,2))结果::range(0, 5, 2) #表示范围print(list(range(0,5,2)))结果:[0, 2, 4] #返回列表,与之前学的切片作用一致
6.字典(dict)
基础结构: dic = {‘键‘:值} 以键值对出现
存储一些大量数据,查找快 无序,是可变数据
在给字典赋值的时候,要注意 ‘键‘必须是不可变数据类型且不能重复,值则没有要求,可以使任何数据类型.
字典的操作:
增:
dic[‘键‘] = ‘值‘ 如果‘键‘没有重复就添加,重复的话就覆盖原数据修改
dic.setdefault(‘键‘:‘值‘) 会先用‘键‘进行查找,没有重复的话(返回值是None)就添加,重复的话则不添加.
dic.fromkeys(‘可迭代对象‘,值) 不写值,默认是None,写值的时候,注意是不是可变数据类型,如果是,在进行可变数据类型的操作的时候,要注意看其他‘键‘对应的值的变化.
删:
dic.pop(‘键‘,找不到时的提示语句) 通过‘键‘删除值,可以在键后边写上提示语句,找不到对应的键时,会返回提示.
dic.popitem() 随机删除(python3.6中默认删除最后一个),删除的是键值对,且有返回值,返回值以元祖的形式的呈现.
del dic 删除整个字典
del dic[‘键‘] 通过‘键‘删除值
dic.clear 清空字典
注:字典中没有remove的用法
改:
dic[‘键‘] = ‘值‘ 如果‘键‘没有重复就添加,重复的话就覆盖原数据修改
dic.update() 在括号里面的级别大于update前面的 如果‘键‘有重复就覆盖修改,如果没有,就增加到原字典中合并
查:
dic[‘键‘] 通过键查找,找不到时报错
dic.get(‘键‘,找不到时的提示语句) 通过键查找,可以在键后边写上提示语句,找不到对应的键时,会返回提示.
dic.setdefault(‘键‘) 通过键查找
其他操作:
keys 所有的键 返回的是高仿列表(只支持for循环)
dic = {‘k1‘: "v1", "k2": "v2", "k3": "v3"}for i in dic.keys(): print(i)结果:k1k2k3
values 所有的值 返回的是高仿列表(只支持for循环)
dic = {‘k1‘: "v1", "k2": "v2", "k3": "v3"}for i in dic.values(): print(i)结果:v1v2v3
items 所有的键值 存放在高仿列表里,以元祖的形式返回
dic = {‘k1‘: "v1", "k2": "v2", "k3": "v3"}for i in dic.items(): print(i)结果:(‘k1‘, ‘v1‘)(‘k2‘, ‘v2‘)(‘k3‘, ‘v3‘)
解构:
a,b = 1,2a,b = ‘12‘a,b = [1,2]打印a,b,返回的结果都是:1 2
a = 10b = 20a,b = b,aprint(a,b)结果:20 10#一行代码交换数值
字典嵌套:
dic = {‘k1‘: "v1", "k2": "v2", "k3": [11,22,33]}dic[‘k3‘].append(44)print(dic)结果:{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: [11, 22, 33, 44]}#字典内嵌套列表,在列表中添加数据
7.集合(set):
基本结构: se = {1,2,‘我‘,(3,4)} 可变数据类型,无序,天然去重
需要注意的是集合的元素必须是不可变数据类型.
增:
se.add(‘内容‘)
se.update(‘可迭代对象‘)
删:
se.remove() 通过内容删除
se.pop() 默认删除第一个
del se 删除整个集合
改:
先删除,再增加
查:
for循环
其他操作:
交集 & 两个集合都有的元素
并集 | 两个集合相加,重复的部分天然去重
差集 - 得到第一个集合中单独存在的元素
反交集 ^ 两个集合中单独存在的数据合并
子集 < 判断第一个集合是不是第二个集合的子集,返回布尔值
超集 > 判断第二个集合是不是第一个集合的子集,返回布尔值
冻结集合
frozenset([]) 将可变的集合变成不可变数据类型,冻结后可以当做字典的键
python基础-数据类型(2)
相关内容
- python--smtp邮件使用,,#构建对象时,第一个
- python路径操作,,路径操作模块3.4版
- 关于python语言优化的一些思考,,最近一直在做pyth
- 小白学 Python 爬虫(3):前置准备(二)Linux基础入门
- python 通过句柄获取窗口内容,,-- enoding
- 从Python 2切换到Python 3你所需要了解的,
- Python制作有道翻译小工具,有道翻译,该工具主要是利用
- python爬虫---数据分析三剑客之: Numpy,python数据分析与爬
- python3 pexpect模块,python模块,pexpectimp
- Python用HTMLTestRunner生成html测试报告,生成测试报告,小编
评论关闭