欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-01-01 22:11:22
1.字典 是一种key-value的数据类型,使用就像字典 无序的因为无下标 创建一个字典: info = { 'stu1':'qq', 'stu2':'ww', 'stu3':'ee', } print(info) 输出结果 {'stu1': 'qq', 'stu2': 'ww', 'stu3': ......

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())

上一篇:

下一篇: