列表 元组 集合 字典
一 列表
a.定义列表
列表(list)是写在方括号 [ ] 之间,用逗号分隔开的元素列表。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓嵌套)。列表中的元素可以改变。
a = [3490,"aaa",[1,2,333],"11"]
//定义了一个名为“a”的列表
print(a[0])
//输出a列表里的第一个元素
列表的下标从0开始,列表中的元素可以通过a【2】=99这样的方式修改。列表可以进行加法和乘法操作。
b.列表函数
print(len(a))
//用len返回a列表的长度并用print输出
------------------
del a
//删除a
del a[1]
//删除掉aaa
------------------
a.append(1177)
//将1177添加到a列表的末尾
------------------
a.insert(2,1899)
//将1899插入到a列表下标为2的位置
------------------
a.clear
//清空列表a
------------------
a.remove(3490)
//移除3490这个元素,若有多个3490,只会移除第一个匹配到的
------------------
a.pop(3)
//移除a里面下标为3的元素,即移除11
//pop还能返回被移除的元素
//pop默认移除列表最后一个元素
------------------
b = a.index(11)
//输出结果为3,即index返回下标值
//若有重复元素,index只会返回匹配到的第一个下标
c = a.index(11,0,3)
//在下标在0到3里面寻找11并返回它的下标
------------------
a.revere()
//将列表a逆向排序
------------------
a.extend([1,2,3])
//将1,2,3三个元素添加到a的末尾
//append的超级版,可以一次性添加多个元素
------------------
a = [1,2,3]
b = a.copy()
//生成了a的副本并赋值给b
c = a
del a[0]
print(b)
print(c)
//结果是[1,2,3]和[2,3]
//即copy得来的(即b)不受影响,而赋值的(即c)会受到影响
------------------
a.sort()
//对列表a进行排序
------------------
a.count(1)
//统计元素1在列表a里面出现的次数
c.列表的切片取值
list_1 = [1,2,3,4,5,6]
print(list_1[0:3])
//输出1,2,3
print(list_1[-1:-3])
//输出6,5
print(list_1[:])
//输出全部
print(list_1[-3: ])
//输出4,5,6
print(list_1[0:5:2])
//输出1,3,6
二 元组
a.定义元组
元组(tuple)与列表相似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开,组中的元素类型也可以不相同。
t = (10,20,30)
//定义了一个名为t的元组
print(t[1])
//输出结果为20
元组也可以进行切片取值,当然也可以进行加法和乘法。(跟列表一样)
元组中的列表中的元素可以修改。
len()返回长度
max()返回最大值
min()返回最小值
↑↑↑↑(也适用于字符串)
三 集合
a.定义集合
集合(set)是一个无序的不重复元素序列,集合里面的元素是唯一的可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合一般用于元组或者列表中的元素去重
//创建集合的方法
1.变量名=set(列表/元组/字符串/字典)
2.变量名={元素,元素……}
b.集合的操作
a = {1,2,3}
//定义了一个集合a
a.add(6)
//往a里面添加元素6
b = {4,7,8}
a.update(b)
//将b并入a中(顺序随机)
a.remove(6)
//删除a集合中的元素6
a.pop()
//随机删除a集合中的一个元素,如果没有元素则会报错
a.discard(6)
//删除集合a中的元素6
//与remove的不同在于若删除的元素不存在,discard不会报错,而remove会。
c = a & b
//c为a和b的交集
d = a | b
//d为a和b的并集
四 字典
a.定义字典
字典是一种映射类型,它的元素是键值对,字典的关键字必须为不可变类型,且不能重复。创建空字典使用{}。
一个字典中如果有两个一样的键值则会保留最后的那个值
a = {
"姓名":"a",
"年龄":11
}
b = dict(([1,"aa"],[2,"w"]))
//创建字典a和字典b
b.字典函数
d = {
"名字":"AAA",
"年龄":11
}
r1 = d.get("名字")
print(r1)
//r1的值为AAA
r2 = d.get("性别","男")
print(r2)
//r2的值为男(默认值),并不改变原本字典的数据。
print(d.key())
//返回字典中所有键的名字
r3 = d.items()
//以列表的形式返回字典里所有的键值对
r4 = d.values()
//以列表的形式返回字典里的所有值
d.clear()
//清空字典
d2 = d.copy()
//创造一个d的备份
d1 = {}
d2 = d1.fromkeys(("名字","年龄"),(1,2))
//d.fromkeys(列表/元素/集合,键值所对应的值)
r = d.pop("名字")
//移除字典中对应的键并返回对应的值
r = d.popitem()
//移除字典中最后一条数据并以元组的方式返回键和对应的值
d.setdefault("1","2")
//给字典添加新的数据,若添加的键已存在则忽略
d2.update(d2)
//用字典2去更新字典1
//若字典2的值在字典1中已经存在,则对字典1进行修改
//若不存在,则对字典1进行添加
in和not in函数
使用in和not in运算符来判断某个对象是否为序列(列表/字符串/元组/字典)的成员
is和is not函数
is(是)判断对象是否相同
is not(不是)判断对象是否不相同