江湖秘籍,python基本数据类型之列表、元组、字典
一.列表(list)
li=[1,23,'123','name',['洪新武',['45',78]'乌鸦'],'alex',True]
1列表中可以嵌套任何类型。
2.列表是以中括号[]括起来。
3.使用‘,’分割每个元素。
4.列表的元素可以是,数字、字符串、列表、布尔值....所有的都可以放进去。
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
二.对列表取值
1.索引取值
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] print(li[3]) print(li[4][1][0])
2.切片取值
注意:切片取值的结果也是列表(list)
三.列表的循环
for循环
while循环
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] for item in li: print(item)
四.列表元素
1.列表的元素可以被修改,删除。
2.索引方式修改列表元素
对象['元素的位置']='要修改的内容'
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] li[1]='已修改' print(li)
索引方式删除列表里的元素
del 对象['元素位置']
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] del li[1] print(li)
3.切片方式,与索引类似
五.列表的in操作
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] v=1 in li print(v)
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] v='名字' in li print(v)#'名字'在二级元素里面所以输出false
li=[1,12,9,'age',['名字',['19',10],'年龄'],'alex',True] v='名字' in li[4] print(v) true
六.列表(list)类中提供的方法
追加
.append 列表尾末添加新的元素
li=[11,22,33,44] li.append('ssss') print(li)
清空
.clear 清空列表
li=[11,22,33,44] li.clear() print(type(li))
晴空后依然为列表。空列表
计数
.count 计算出元素在列表中出现的次数
a = ["yehe", "test", 123, 123] print(a.count(123))
index 从列表中找出某个值第一个匹配项的索引位置
插入
.insert 指定一个位置插入元素
li=[11,22,33,44,22,88,1,] li.insert(2,123) print(li)
删除
.pop (索引方式)删除列表中的一个元素(默认为最后一个),并且返回值为该元素,没有则会报错
li= ["yehe", "test", 123] v=li.pop(1) print(li) print(v) ['yehe', 123] test
.remove 删除列表指定某元素,左边优先
li= ["yehe", "test", 123] li.remove('test') print(li)
排序
.sort 对列表进行排序
a = [3, 2, 4, 1] a.sort() print(a) 1,2,3,4
取反
reverse 用于反向列表中元素
a = ["yehe", "test", 123] a.reverse() print(a) [123, "test", "yehe"]
注意:
- List卸载方括号之间,元素用逗号分隔
- 和字符串一样,list可以被索引和切片
- List可以用+操作符进行拼接
- List中的元素是可以改变的
元组(tuple)
元组与列表类似。元组卸载小括号里“()”,元素之间用逗号分隔。元组是有序的。
可以认为元组是列表的二次修改,一级元素不能被修改,增加或者删除。
建议:
写元组的时候最后加一个“,”用来识别元组。
用法:
与列表类似,只是不能修改
只有count与index函数
注意:
- 和字符串一样,元组可以被索引和切片
- 元组也可以被索引和切片,方法一样
- 注意构造包含0或1个元素的元组的特殊语法规则
- 元组也可以使用+操作符进行拼接
字典(dict)
列表是有序的对象集合,字典是无序的对象集合。
字典当中的元素是通过键来存取的,而不是通过索引存取。
字典是一种映射类型,字典用大括号“{}”表示,它是一个无序的键(key):值(value)对集合。
键(key)必须使用不可变类型。
列表、字典不能作为字典的key。
不能使用切片,因为字典是无序的。
在同一个字典中,键(key)必须是唯一的。
dict = {} dict['one'] = "1" dict[2] = "2" testdict = {'name': 'yehe','code':1, 'site': 'www.qqq.com'} print (dict['one']) # 输出键为 'one' 的值 print (dict[2]) # 输出键为 2 的值 print (testdict) # 输出完整的字典 print (testdict.keys()) # 输出所有键 print (testdict.values()) # 输出所有值
字典(dict)提供的方法
清空
.clear
fromkeys 创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值
a = {} b = ["name", "age", "test"] print(a.fromkeys(b, 10)) {'name': 10, 'age': 10, 'test': 10}