5.python编程之——列表、元组、集合、字典详解

本文详细介绍了Python中的四种主要数据结构:列表、集合、元组和字典。包括列表的排序、复制、操作方法;集合的无序性、交集、差集和并集操作;元组的特点及索引;字典的增删改查及常用方法。同时,还提到了数据类型的转换技巧。

一、列表详解

首先了解个快捷键ctrl+d可以复制一行

列表的特点:可以存取多个值

1 sort数字排第一位,字母,汉字(列表里面需要是相同的数据类型)
l1 = ['你好','b','a','1','c','2','d','你好好','3']
l1.sort()
print(l1)
输出:
['1', '2', '3', 'a', 'b', 'c', 'd', '你好', '你好好']
2 index 获取b元素的下标
l1 = ['你好','b','a','1','c','2','d','你好好','3']
res = l1.index('b')
print(res)
输出:
1
3 clear清空列表里面所有元素
l1 = ['你好','b','a','1','c','2','d','你好好','3']
l1.clear()
print(l1)
输出:
[]
4 copy复制一个列表
l1 = ['你好','b','a','1','2','你好好']
res = l1.copy()
print(l1)
输出:
['你好', 'b', 'a', '1', '2', '你好好']
5 insert在确定下标的地方插入一个元素
l1 = ['a','b','a','c','d']
l1.insert(3,[1,2,3])     #在下标为3的地方插入
print(l1)
输出:
['a', 'b', 'a', [1, 2, 3], 'c', 'd']
6 统计列表当中元素的个数
l1 = ['a','b','a','c','d']
res = l1.count('a')
print(res)
输出:
2
7 append在元素列表最后面追加元素
l1 = ['a','b','a','c','d']
l1.append('aaaa')
l1.append('bbbb')
print(l1)
输出:
['a', 'b', 'a', 'c', 'd', 'aaaa', 'bbbb']
8 remove删除指定元素
l1 = ['a','b','a','c','d']
l1.remove('a')    #从左往右删除一次
print(l1)
输出:
['b', 'a', 'c', 'd']
9 pop是取出指定下标的元素
l1 = ['a','b','a','c','d']
res = l1.pop(0)
print(l1)
print(res)
输出:
['b', 'a', 'c', 'd']
a
10 extend添加列表,元组是添加的列表,元组里面单个值 字典是它的关键字
l1 = ['a','b','a','c','d']
l1.extend({'ss':11,'dd':22,'mm':33})
print(l1)
输出:
['a', 'b', 'a', 'c', 'd', 'ss', 'dd', 'mm']
11 列表也可以切片,也有索引或者下标
l1 = ['a','a','b','c','d']
print(l1[4])
print(l1[-2])
print(l1[2:4])
输出:
d
c
['b', 'c']
12 列表利用下标改值
l1 = ['a','b','a','c','d']
l1[1] = 'ss'
print(l1)
输出:
['a', 'ss', 'a', 'c', 'd']

二、集合

1 集合也可以存储多个值,但是是无序的,不重复的
s1 = {'a','b','c','d','d'}
s2 = {'a','b','c','d','e'}
print(s1)
print(s2)
输出:
{'c', 'd', 'a', 'b'}       #无序且不重复
{'b', 'c', 'e', 'a', 'd'}  #无序
2 pop随机取出元素
s2 = {'a','b','c','d','e'}
res = s2.pop()
print(res)
d
3 intersection取两个集合的交集
s1 = {'a','b','c','d','d'}
s2 = {'a','b','c','d','e'}
res = s1.intersection(s2)
print(res)
输出:
{'a', 'b', 'c', 'd'}
4 difference取出两个集合的差集
s1 = {'a','b','c','d','d'}
s2 = {'a','b','c','d','e'}
res = s2.difference(s1)
print(res)
输出:
{'e'}
5 union取出两个集合的并集
s1 = {'a','b','c','d','d'}
s2 = {'a','b','c','d','e'}
res = s1.union(s2)
print(res)
输出:
{'a', 'c', 'd', 'b', 'e'}

三、元组

元组跟列表 一样可以存储多个值,大多数元组只是用来读的,不用作修改,在相同元素 下,列表占用的资源会比元组大

元组也有下标或者索引
t1 = ('a','b','c','d')
res = t1.index('a')
print(res)
res = t1.count('a')
print(res)
输出:
0
1

四、字典

python编程快捷键:
tab缩进4个空格
shift + tab回退4个空格

字典可以存储一些带关键字的信息
例如人名、身高、体重、年纪等

info = {
	'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
1 pop通过key取出value
info = {
	'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
res = info.pop('name')
print(info)
print(res)
输出:
{'high': '180', 'weight': '160', 'age': '23'}
bob
2 clear清空字典
info = {
	'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
info.clear()
print(info)
输出:
{}
3 popitem从后往前取出key:value
info = {
	'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
res1 = info.popitem()
res2 = info.popitem()
print(info)
print(res1)
print(res2)
输出:
{'name': 'bob', 'high': '180'}
('age', '23')
('weight', '160')
4 设置默认值(如果有这个key,不生效。如果没有这个 key,自动添加)
info = {
	'high':'180',
	'weight':'160',
	'age':'23'
}
info.setdefault('name','mike')
print(info)
输出:
{'high': '180', 'weight': '160', 'age': '23', 'name': 'mike'}
info = {
    'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
info.setdefault('name','mike')
print(info)
输出:
{'name': 'bob', 'high': '180', 'weight': '160', 'age': '23'}
5 values 列出字典当中所有的value
info = {
    'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
res = info.values()
print(res)
输出:
dict_values(['bob', '180', '160', '23'])
如何只输出字典的value而不显示dict_values,我们用for循环遍历
res = info.values()
for i in res:
	print(i)
输出:
bob
180
160
23
6 列出字典当中所有的key
info = {
    'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
res = info.keys()
print(res)
输出:
dict_keys(['name', 'high', 'weight', 'age'])
7 列出字典当中所有的key和value
info = {
    'name':'bob',
	'high':'180',
	'weight':'160',
	'age':'23'
}
res = info.items()
print(res)
输出:
dict_items([('name', 'bob'), ('high', '180'), ('weight', '160'), ('age', '23')])
8 update合并两个字典,相同的key会被后者覆盖
info1 = {
    'name':'bob',
	'high':'180',
    'phone':120,
	'weight':'160',
	'age':'23'
}

info2 = {
    'name':'mike',
    'high':'170',
    'weight':'130',
    'age':'24',
    'gender':'保密'
}
info1.update(info2)
print(info1)
输出:
{'name': 'mike', 'high': '170', 'phone': 120, 'weight': '130', 'age': '24', 'gender': '保密'}
9 fromkeys快速定义一个空字典
res = {}.fromkeys(('name','age','phone'),None)
print(res)
输出:
{'name': None, 'age': None, 'phone': None}
10 get通过key取出value,如果没有 这个key,那么显示None,不能赋值
info = {
     'name':'bob',
     'high':'188',
     'weight':'180',
     'age':'23'
 }

high = info.get('123')
print(high)
high = info.get('high')
print(high)
输出:
None
188
11 字典也可以通过[‘name’]来取值,如果没有这个key,将报错,可以赋值
info = {
     'name':'bob',
     'high':'188',
     'weight':'180',
     'age':'23'
 }

print(info['qwe'])
输出:
KeyError: 'qwe'
info = {
     'name':'bob',
     'high':'188',
     'weight':'180',
     'age':'23'
 }

info['name'] = 'john'
print(info)
输出:
{'name': 'john', 'high': '188', 'weight': '180', 'age': '23'}

五、数据类型转换

1 str转变为字符串
a = 1
res = str(a)
print(type(res))
输出:
<class 'str'>
2 list转换为列表
s1 = {'a','b','c','d'}
res = list(s1)
print(type(res))
输出:
<class 'list'>
3 int截取或转换整型
a = 1.1
res = int(a)
print(res)
输出:
1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值