您的位置:首页 > 编程语言 > Python开发

python基础(09)——列表,元组,字典,集合

2018-01-07 18:26 846 查看
#列表的普通操作
lists = ['张飞','岳飞','双飞']
print(lists[0]) #访问列表的莫个元素

lists[0] = '飞飞' #修改列表的某个元素
print(lists)

#删除某个元素
del lists[0]
print(lists)

#列表的的分片操作
lists = ['飞飞','菲菲','肥肥','狒狒']
print(lists[:2])
print(lists[1:])
print(lists[1:3])
print(lists[0:4:2])

#列表拼接
list1 = ['nishimadeshenmo']
list2 =['nishimadezhizhang']
result = list1 + list2
print(result)

#列表复制
lsits = ['无聊']
print(lsits * 3)

#列表推导式
lists = [1,2,3,4,5,6,7,8,9]
result = [i * i for i in lists]
print(result)

#带有判断条件的列表推导
lists = [1,2,3,4,5,6,7,8,9]
result = [i for i in lists if i % 2 ==1]
print(result)

#多循环列表推导式
boys = [1,2,3]
girls = [1,2,3]
result = [str(i) + '__'  + str(b) for i in boys for b in girls]
print(result)

#带有判断条件的多循环推导式
'''
boys = [1,2,3,4,5]
girls = [1,2,3,4,5]
result = [str(i) + '__'  + str(b) for i in boys for b in girls if boys.index(i) == girls.index(b)]
print(result)
'''

#列表函数
#append() 向列表的末尾添加新的元素
lists = ['天龙','屠龙','黑龙']
lists.append(' 黑骑士')
print(lists)

#insert() 在列表中制定位置之前插入数据
lists.insert(0,'毁灭')
print(lists)

#pop() 根据位置移除列表中的一个元素,不写索引默认最后一个数据
list1 = [1,2,3,4,5,'蛋蛋']
list1.pop(0)
list1.pop()
print(list1)

#remove 移除指定的值
list1.remove(3)
print(list1)

#chear() 清空列表
list1.clear()
print(list1)

#copy()复制列表
lists = [12,2,3,445,456,5,34,45,]
result = lists.copy()
print(result)

#count()  统计某个值出现的次数
lists = [1,2,34,345,5,6,7,8,7,6,567,57]
print(lists.count(7))

#extend() 列表的继承
list2 = ['天龙','屠龙','黑龙']
list1 = ['毁灭','雷神','黑骑士']
list2.extend(list1)
print(list2)

#index() 获取某个值在列表中的索引
lists = [12,234,45,56,67,78]
print(lists.index(12))

#reverse ()列表反转
lists = [1,2,34,345,5,6,7,8,7,6,567,57]
lists.reverse()
print(lists)

#sort() 排序函数
lists = [123,234,435,45,45,456,657,768,6,76864,54]
#默认从小到大
lists.sort()
print(lists)

#倒序排列
lists.sort(reverse= True)
print(lists)

#自定义排序规则
lists1 = [1,23,43,5,6,7,8,7,6,87,8,989]
lists1.sort(key = lambda x: x % 10)
print(lists1)

#元组
#具有一个元素的元组
tp = (1,)
print(tp,type(tp))

tp1 = ('liubei','zhangfei','yindaoyan','juhuacan')
print(tp1[1]) #访问

#序列操作
tp2 = (1,2,3324)
tp3 = (0,3,4<
4000
/span>,54)
print(tp2 + tp3)

tp = (1,)
result = tp * 3
print(result)

#元组分片擦操作
tp = (12,43,45,435,54,2,34,52,5325,325,32523,4523,53,453)
result = tp[2:]
print(result)
result = tp[3:4]
print(result)
result = tp[:5]
print(result)
result = tp[1:6:2]
print(result)

result = 43 in tp
print(result)

#成员检测
result = '起毛鸡' in tp
print(result)

result = '达菲鸡' not in tp
print(result)

#元祖的遍历
tp = ('起毛鸡','法克鱿','尾声鲸','潜烈蟹','吉跋猫','吟稻燕')

#while遍历
i= 0

while i < len(tp):
print(tp[i])
i += 1

#for...in遍历
for i in tp:
print(i)

#元组推导式
tp = (1,23,4,45,67,78,78)

#基本元素推导式
'''
result = (i for i in tp)
for x in result:
print(x)
'''

#带有判断条件的元组推导式
result = (b for b in tp if b % 3 == 0)
for c in result:
print(c)

#多循环的元组推导式
'''
tp1 = (1,2,3)
tp2 = (3,2,1)
result = (str(a) +'-'+ str(d) for a in tp1 for d in tp2)
for c in result:
print(c)
'''

#带有判断条件多循环的元组推导式
tp1 = (1,2,3)
tp2 = (3,2,1)
result = (str(a) +'-'+ str(d) for a in tp1 for d in tp2 if tp1.index(a) == tp2.index(d))
for c in result:
print(c)

#index() 获取指定的值在元组中的索引
tps = (1,234,324,5,36,546,456,5)
result = tps.index(1)
print(result)

#count 统计指定值在元组中出现的次数
result = tps.count(5)
print(result)

#字典
dict1 = {'宇文成都':'天宝将军','李元霸':'招雷劈'}
print(dict1)

lists = [['及时雨','宋泥巴'],['武松','杀嫂']]
zd = dict(lists)
print(zd)

#访问字典中的数据
zd = {'tx':'腾讯大肯跌','albb':'阿里巴巴','xl':'浪新'}
print(zd['tx'])

#遍历
'''
for i,b in zd.items():
print(i,b)

for i in zd.values():
print(i)

for i in zd.keys():
print(i)
'''

for i in zd:
print(i,zd[i])

#序列函数
a = len(zd)
print(a)

b = min(zd)
print(b)

c = max(zd)
print(c)

#字典推导式
zd = {'www':'三王','sss':'三泡','lyb':'老阴比'}
result = {k:v for k,v in zd.items()}
print(result)

#带有判断条件的字典推导式
zd = {'www':'网大的','sss':'沙发上','ksf':'开始发','lbc':'来补充'}
result = {k:v for k,v in zd.items() if 's' not in k}
print(result)

#多个字典的推导式
colors = {'red':'红色','green':'绿色','blue':'蓝色'}
sizes = {'one':'37','two':'38','whree':'39'}
result = {ck+sk:cv +str(sv)for ck,cv in colors.items() for sk,sv in sizes.items()}
print(result)

#带有判断条件多个字典#推导式
colors = {'red':'红色','green':'绿色','blue':'蓝色'}
sizes = {'one':37,'two':38,'three':39}

result = {ck+sk : cv + str(sv) for ck,cv in colors.items() for sk,sv in sizes.items() if '8' not in str(sv)}
print(result)

#字典函数

#clear()
zd = {'fbb':'范冰冰','lbb':'李冰冰'}
print(zd)

zd.clear()
print(zd)

#copy() 复制字典
zd = {1:2,2:3,3:4,4:5}
print(zd)
result = zd.copy()
print(result)

#fromkeys() 使用指定的序列和值制作字典
lists = ['刘备','张飞','关羽','项羽']
result = {}.fromkeys(lists,'反倒')
print(result)

zd = {'kdc':'fsa','fdsa':'fsfaf','asdferew':'sdfa'}
#items()将字典转化为二级容器数据
result = zd.items()
print(result,type(result))

#keys() 将字典的键组成新的容器
result = zd.keys()
print(result,type(result))

#values() 将字典中的值组成新的容器
result = zd.values()
print(result,type(result))

#pop() 根据键删除字典中的数据
zd = {'wbq':'wangbaoqqq','cyl':'zgl','ljl':'lijiaolong'}
result = zd.pop('cyl')
print(zd)

#popitem()随机删除字典中的数据
zd = {'wbq':'wangbaoqqq','cyl':'zgl','ljl':'lijiaolong'}
result = zd.popitem()
print(zd)

#update()更新数据
zd = {'wbq':'王爆强','lbb':'李冰冰','zbs':'赵本山'}
#zd.update(wbq = '王宝强')
zd.update({'lbb':'李兵兵'})
print(zd)

#get() 获取数据
zd = {'wbq':'王爆强','lbb':'李冰冰','zbs':'赵本山'}
print(zd.get('cyl','xiaolongbao'))
#setdefault 设置数据,添加数据,不能用于更新
zd.setdefault('xlr','小龙人')
print(zd)

#集合
#创建空集合
sets = set()
print(sets,type(sets))

#创建多个值的集合
ss = {1,2,'战国','春秋'}

#集合的序列操作
#成员检测
ss = {1,2,'战国','春秋'}
a = '战国' in set(ss)
print(a)

#遍历集合
sets1 = {'张三','李四','赵五','周六'}
for i in sets1:
print(i)

jh = {
('A','B','C'),
('D','E','F'),
('G','H','I','ff')
}

for a in jh:
for b in a :
print(b)

#集合推导式
#普通的集合推导式
sts = {1,234,345,345}
result = {i for i in sts}
print(result)

#带有判断条件的集合推导式
sts = {1,234,345,345}
result = {i for i in sts if i % 2 == 0}
print(result)

#多循环的集合推导式
stss = {'songjiang','wusong','huangheshang','duanyu'}
clors = {'红色de','黄色','蓝色','黑色'}
result ={i + j for i in stss for j in clors}
print(result)

#带有判断条件的多循环推导式
stss = {'songjiang','wusong','huangheshang','duanyu'}
clors = {'红色de','黄色','蓝色','黑色'}
result ={i + j for i in stss for j in clors if len(i) <= 6 and  len(j) == 4}
print(result)

#集合函数

#add() 向集合中添加数据
jh = {'飞飞','菲菲','肥肥'}
print(jh)
jh.add('狒狒')
print(jh)

#pop() 随机删除集合中的一个数据
jh = {'飞飞','菲菲','肥肥'}
print(jh)
jh.pop()
print(jh)

#discard() 删除集合中指定的值(不存在的不删除)
jh = {'飞飞','菲菲','肥肥','狒狒'}
print(jh)
jh.discard('飞飞')
print(jh)

#remove() 删除集合中指定的值(不存字则报错)
jh = {'飞飞','菲菲','肥肥'}
print(jh)
jh.remove('飞飞')
print(jh)

#clear() 清空集合
jh = {'飞飞','菲菲','肥肥'}
print(jh)
jh.clear()
print(jh)

#copy() 复制集合
jh = {'飞飞','菲菲','肥肥'}
print(jh)
result = jh.copy()
print(result)

#交集操作
#intersection()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
result = jh1.intersection(jh2)
print(result)

#intersection_update()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
jh1.intersection_update(jh2)
print(jh1)

#差集操作
#difference()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
result = jh1.difference(jh2)
print(result)

#difference_update()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
jh1.difference_update(jh2)
print(jh1)

#并集操作
#union()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
result = jh1.union(jh2)
print(result)
#update()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
jh1.update(jh2)
print(jh1)

#对称差集操作
#symmetric_difference()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
result = jh1.symmetric_difference(jh2)
print(result)
#symmetric_difference_update()
jh1 = {'赤','橙','黄','绿','青','蓝','紫'}
jh2 = {'红','橙','黄','绿','蓝','靛','紫'}
jh1.symmetric_difference_update(jh2)
print(jh1)

#issuperset()
jh1 = {1,2,3,4,5,6,7,8,9}
jh2 = {2,4,6,8}
result = jh1.issuperset(jh2)
print(result)

#issubset()
jh1 = {1,2,3,4,5,6,7,8,9}
jh2 = {2,4,6,8}
result = jh2.issubset(jh1)
print(result)

#sidisjoint() 检测两个集合是否相交 不相交 True
jh1 = {1,2,3,4,5,6,7,8,9}
jh2 = {2,4,6,8}
result = jh2.isdisjoint(jh1)
print(result)

#冰冻集合  frozenset

#创建冰冻集合
icebox = frozenset({'张飞','关羽','刘备'})
print(icebox,type(icebox))

#创建空的冰冻集合
box = frozenset()
print(box,type(box))

#成员检测
icebox = frozenset({'张飞','关羽','刘备'})
result = '张飞' in icebox
print(result)

#遍历操作
icebox = frozenset({'张飞','关羽','刘备'})
for i in icebox:
print(i)

#####推导式
icebox = frozenset({'张飞','关羽','刘备'})
result = frozenset(i for i in icebox)
print(result)
for j in result:
print(j)

#函数#所有不涉及到修改集合本身的函数 冰冻函数都可以用

Python学习交流、资源共享群:563626388 QQ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: