python笔记-----字典、元组、集合操作

2018-06-18 02:45:00来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1.字典

是一种key-value的数据类型,使用就像字典

无序的因为无下标

创建一个字典:

info = {
    'stu1':'qq',
    'stu2':'ww',
    'stu3':'ee',
}

print(info)

输出结果

{'stu1': 'qq', 'stu2': 'ww', 'stu3': 'ee'}

1.1增改

有就修改,没有就增加

info['stu1'] = "gg"
info['sut4'] = 'hhh'
print(info)
{'stu1': 'gg', 'stu2': 'ww', 'stu3': 'ee', 'sut4': 'hhh'}

1.2删除

del,pop()删除指定

 del info['stu1']

print(info)

{'stu2': 'ww', 'stu3': 'ee', 'sut4': 'hhh'}
info.pop('stu2')
print(info)

{'stu3': 'ee', 'sut4': 'hhh'}

popitem()随机删除

info.popitem()
print(info)

{'stu3': 'ee'}

1.3查询

get(‘keys’)查询key,有就返回value,如果没有就返回none

print(info.get('stu1'))

qq

1.4字典嵌套

values(),keys() 查询key和values

city = {
    "北京":["东城","西城","大悦城"],
    "上海":["虹桥","上海动物园","东方明珠"],
    "浙江":["杭州","温州","横店"],
}

#打印values
print(city.values())

dict_values([['东城', '西城', '大悦城'], ['虹桥', '上海动物园', '东方明珠'], ['杭州', '温州', '横店']])

#打印key
print(city.keys())

dict_keys(['北京', '上海', '浙江'])

setdefault()方法-增

city.setdefault("USA",{"美国":["华盛顿","洛杉矶","环球影城"]})

print(city)

{'北京': ['东城', '西城', '大悦城'], '上海': ['虹桥', '上海动物园', '东方明珠'], '浙江': ['杭州', '温州', '横店'], 'USA': {'美国': ['华盛顿', '洛杉矶', '环球影城']}}

 

dir1.update(dir2)更新

info = {
    'stu1':'qq',
    'stu2':'ww',
    'stu3':'ee',
}
b = {
    'stu1':'qwe',
    1:3,
    2:5,
}
info.update(b)
print(info)

{'stu1': 'qwe', 'stu2': 'ww', 'stu3': 'ee', 1: 3, 2: 5}

items()字典转成列表

print(info.items())

dict_items([('stu1', 'qq'), ('stu2', 'ww'), ('stu3', 'ee')])

fromkeys([1],”str”)初始化一个新的字典,每个value赋值相同

print(dict.fromkeys([6,7,8],"yrdy"))

{6: 'yrdy', 7: 'yrdy', 8: 'yrdy'}

 

修改用fromkeys初始化出来的字典其中的一层,都会跟着改

c = dict.fromkeys([6,7,8],[1,{"name":"wsy"},555])
print(c)
c[7][1]['name'] = "jack"
print(c)

{6: [1, {'name': 'wsy'}, 555], 7: [1, {'name': 'wsy'}, 555], 8: [1, {'name': 'wsy'}, 555]}

{6: [1, {'name': 'jack'}, 555], 7: [1, {'name': 'jack'}, 555], 8: [1, {'name': 'jack'}, 555]}

1.5字典的循环

city = {
"北京":["东城","西城","大悦城"],
"上海":["虹桥","上海动物园","东方明珠"],
"浙江":["杭州","温州","横店"],
}

for i in city: #高效
print(i,city[i])

for v,k in city.items(): #低效
print(v,k)

 

北京 ['东城', '西城', '大悦城']
上海 ['虹桥', '上海动物园', '东方明珠']
浙江 ['杭州', '温州', '横店']

2.元组

只能查

列表元组互相转换

names = ("wsy","wwsy","jack")
p = list(names)
print(p)

['wsy', 'wwsy', 'jack']

转换回来

names = ("wsy","wwsy","jack")
p = list(names)
q = tuple(p)
print(q)

('wsy', 'wwsy', 'jack')

 

index方法-返回索引位置下标

names = ("wsy","wwsy","jack")
p = names.index("jack")
print(p)

2

 

count方法-搜索字符,返回个数

names = ("wsy","wwsy","jack")
p = names.count("wsy")
print(p)

1

3.集合

集合中只包含数字

list_1 = [1,4,5,7,3,6,7,9]
print(list_1)
list_1 = set(list_1)
list_2 =set([2,6,0,66,22,8,4])
print(list_1,list_2)

[1, 4, 5, 7, 3, 6, 7, 9]
{1, 3, 4, 5, 6, 7, 9} {0, 2, 66, 4, 6, 8, 22}

 

intersection()方法-求交集

print(list_1.intersection(list_2))
print(list_1 & list_2)

 

union()方法-求并集

print(list_1.union(list_2))
print(list_2 | list_1)

difference()方法-求差集

#差集 in list_1 but not in list_2
print(list_1.difference(list_2))
print(list_2.difference(list_1))

判断是否是子集

list_3 = set([1,3,7])
print(list_3.issubset(list_1))
print(list_1.issuperset(list_3))

symmetric_difference()方法求对称差集

print(list_1.symmetric_difference(list_2))

print(list_1 ^ list_2)

pop()方法随机删除

print(list_1.pop())

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python代码缩进与测试模块

下一篇:python学习【第六篇】python迭代器与生成器