Python基础学习5--组合数据类型

一、列表(list)

1、定义

① 所有元素放在 [ ] 内,相邻之间用逗号分隔。
② 无长度限制,元素类型可以不同,不需要预定长度。
③ 列表内元素有顺序,可以使用索引。
线性的数据结构。
⑤ 列表是可变的。

2、列表的常见操作方法

count(value) :返回列表中value的个数。
append(x) :列表尾部追加元素,返回值为None,表示就地修改。
insert(index,x):在指定索引index处插入元素x,是在指定索引值前面插入x。
extend (iterable) :将可迭代对象的元素添加进来,返回None,也是在末尾插入,如果是字符串,则会将字符串分割。
remove():从左到右查找第一个匹配的值,移除该元素,返回None。
pop([index]):将列表下标为index的元素删除并返回删除值,原列表也删除该值。
reverse():列表元素反转。
clear():清除列表所有元素,剩下一个空列表。
copy():生成一个新的列表,复制原列表中的所有元素。
例如:

a = [1,2,2,3,'a','b','c']
print(a.count(2))
# 2
print(a)
a.append('d')
print(a)
#[1, 2, 2, 3, 'a', 'b', 'c']
#[1, 2, 2, 3, 'a', 'b', 'c', 'd']
a.insert(1,'h')
print(a)
#[1, 'h', 2, 2, 3, 'a', 'b', 'c', 'd']
a.remove('a')
print(a)
#[1, 'h', 2, 2, 3, 'b', 'c', 'd']
print(a.pop(-1))
print(a)
#d
#[1, 'h', 2, 2, 3, 'b', 'c']
a.reverse()
print(a)
#['c', 'b', 3, 2, 2, 'h', 1]
b = [1,2,3]
c = [4,5,6]
b.extend(c)
print(b)
#[1, 2, 3, 4, 5, 6]

二、元组(tuple)

1、定义

① 所有元素放在圆括号 ()内。
② 如果元组中只有一个元素,必须在最后增加一个逗号。
③ 支持双向索引。
④ 元组是不可变的。

2、与列表的异同点

异:
列表 是可变序列,可修改,不可作为字典的键;
元组 是不可变序列,不可修改,可作为字典的键。
同:
都是有序序列,支持双向索引,可通过切片访问,del 删除。

三、字典(dict)

1、定义

① 字典是可变的,可以存储任意类型。
② 键和值是通过冒号链接组成的集合。
③ 字典中是以键值对存储的,键值对没有顺序且不能重复。
④ 元素类型可以不同。
就是的索引。

2、字典的索引

① 利用键值对访问值
<值> = <字典变量>[<键>]
② 利用索引和赋值配合,可以对字典中每一个元素进行修改。
<字典变量>[<键>] = <值>
③ 利用索引和赋值配合,向字典中增加元素,但增加的元素位置不确定。
<字典变量>[<新键>] = <值>

3、字典的操作方法

keys() : 返回字典中所有的键。
values() :返回字典中所有的值。
items(): 返回字典中所有的键值对,以元组类型表示。
get(key,default):键存在则返回相应值,不存在则返回默认值default。
clear():删除所有键值对,清空字典。
popitem():随机从字典中取出一个键值对,以元组形式返回,同时将该键值对从字典中删除,字典为空时报错。
pop(key,default):键存在则返回相应值,同时删除键值对,否则返回默认值default。
例如:

d = {'a':'1','b':'2','c':'3','zhangsan':'10','lisi':'20','wangwu':'30'}
print(d.keys())
#dict_keys(['a', 'wangwu', 'c', 'zhangsan', 'b', 'lisi'])
print(d.values())
#dict_values(['10', '20', '2', '3', '30', '1'])
print(d.items())
#dict_items([('wangwu', '30'), ('a', '1'), ('c', '3'), ('lisi', '20'), ('zhangsan', '10'), ('b', '2')])
print(d.get('a',0))
print(d.get('xiaoming',40))
#1
#40
print(d.popitem())
print(d)
#('lisi', '20')
#{'zhangsan': '10', 'a': '1', 'wangwu': '30', 'b': '2', 'c': '3'}
print(d.pop('a'),66)
#1 66

四、集合(set)

1、定义

① 集合中的元素不可重复。
② 元素类型只能是不可变类型。
③ 集合元素没有顺序,不能比较,不能排序。
④ 没有索引值和位置的概念。

2、集合的操作符

差集 (a - b) <=> a.difference(b):返回新的集合,元素包含在 a 内但不在 b 中。
交集(a & b) <=> a.intersection(b):元素同时包含在 a 和 b 中。
补集(a ^ b) <=> a.symmetric_difference(b):包含 a 和 b 中的非共同元素。
并集 (a | b) <=> a.union(b):包含 a 和 b 中的所有元素。

3、集合的常用操作方法

add():增加新元素,如果该元素已经存在则忽略该操作,不会有异常。
remove():删除集合中的元素,指定元素不存在则抛出异常。
clear():删除集合中的所有元素。
update():合并另外一个集合中的元素到当前集合中,并自动去重
pop():随机删除并返回集合中的一个元素。
discard():从集合中删除一个特定的元素,若该元素不在集合中则忽略该操作。
例如:

s = {'a','b','c',1,2,3}
s.add('d')
print(s)
#{1, 2, 3, 'b', 'd', 'c', 'a'}
s.remove('a')
print(s)
#{'b', 1, 2, 3, 'd', 'c'}
a = {1,2,3}
b = {2,3,4}
a.update(b)
print(a)
#{1, 2, 3, 4}
t = {'zhangsan','lisi',1,2,3}
print(t.pop())
print(t)
#1
#{2, 3, 'lisi', 'zhangsan'}
t = {'zhangsan','lisi',1,2,3}
t.discard('zhangsan')
print(t)
#{'lisi', 1, 2, 3}
发布了7 篇原创文章 · 获赞 0 · 访问量 103

猜你喜欢

转载自blog.csdn.net/Kelly_mercy/article/details/105145065
今日推荐