TODO
字符串,列表,字典,元组
列表 元组 字典
[] () {}
字符串
# list01.py
# 列表的函数:
'''
字符串函数:
'abc'.split('-')
['a','b','c'].split('-')错误
列表函数:只有通过列表才可以调出来的函数
添加: append extend insert
删除: del list[index]
remove(e) 删除列表中第一次出现的元素e,返回值是None。
如果没有找到要删除元素则报出异常
pop(): 弹栈 移除列表中的最后一个元素,返回值是删除的那个元素
默认是删除最后一个,但是也可以指定index(下标)删除
clear(): 清除列表(里面的所有元素全部删除)
翻转:
reverse()
排序:
sort()
次数:
count()
'''
hotpot_list = ['海底捞','呷哺呷哺','张亮麻辣烫','热辣一号','宽板凳']
hotpot_list.append('张亮麻辣烫')
print(hotpot_list)
#result = hotpot_list.remove('杨国福麻辣烫') #不存在就会报错
#print(result)
# print(hotpot_list)
result = hotpot_list.pop()#pop弹出最后一个
print(result)
print(hotpot_list)
result = hotpot_list.pop(2)#弹出下表为2的元素,就是第三个元素
print(hotpot_list)
# result = hotpot_list.clear()
# print(result)
# print(hotpot_list)
print(hotpot_list[::-1]) # 只是逆序拿出列表中的元素,打印出来
print(hotpot_list)
hotpot_list.reverse() # 改变了列表的位置结构
print(hotpot_list)
# 系统提供的排序
'''
sorted(list,revers=True|False)
list.sort(revers=True|False)
类似:
'''
l = [4,8,1,8,9,5,7]
l.sort(reverse=False) # False升序,True为降序
print(l)
print(l.count(8))#出现的次数
列表
list1=[3,7,9,0]
del list1[1]
print(list1)
dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99}
del dict1['王五']
print(dict1)
# del dict1['haha'] # keyError
# 字典的内置函数:删除
# dict1.remove('李四') 不存在 报错的
# pop(key[,default]) ----> 根据key删除字典中的键值对,返回值是 只要删除成功,则返回键值对的值value
# pop的默认值,往往是在删除的时候没有找到对应的key,则返回default默认值
#删除成功,返回键值,删除不成功,则返回这个给定的default value
result = dict1.pop('李四','80')
print(result)
result = dict1.pop('张小三','字典中没有此键')
print('======>',result)
print(dict1)
print('*'*30)
# popitem():随机删除字典中键值对(一般是从末尾删除元素)
dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99}
result = dict1.popitem()
print(result)
print(dict1)
result = dict1.popitem()
print(result)
print(dict1)
# clear() 同列表的clear()
dict1.clear()
print(dict1)
'''
删除:
del dict[key] 删除指定key
dict.pop(key[,default]) 弹出指定key,若有这个键,则返回键值,若没有这个键,则返回这个给定的值
dict.popitem() 删除一个值,一般是从最后开始的,。这些删除都是成对的
dict.clear() 清空 {}
'''
'''
其他的内置函数:
update() []+[] 合并操作 update为合并操作
fromkeys(seq,[default]) ---->将seq转成字典的形式 如果没有指定默认的value则用None
new_dict = dict.fromkeys(list1)---》 {'aa': None, 'bb': None, 'cc': None}
---> 如果指定default,则用default替代None这个value值
new_dict = dict.fromkeys(list1,10) ---》 {'aa': 10, 'bb': 10, 'cc': 10}
'''
# dict1 = dict1+dict2 报错的
# print(dict1)
#update做合并操作,如果重复,合并按照最后一个的来,
dict1= {0:'tom',1:'jack',2:'lucy'}
dict2 = {0:'lily','4':'ruby'}
result = dict1.update(dict2)
print(result)
print(dict1)
list1 = ['aa','bb','cc']
new_dict = dict.fromkeys(list1,10)
print(new_dict)
# 不重复特点:
list1 = [3,5,8,9,1,8,4,2,5,8,9]
# 声明集合: set
s1 = set() # 创建空集合
s4 = list()
print("s4",s4)
s2 = {1,3,7} # 字典: {key:value,key:value,....} 集合 {元素1,元素2,元素3,...}
print(type(s1))
print(type(s2))
#应用: 如果将一个列表快速去重 set()
s3 = set(list1)
print(s3) # {1,2,3,4,5,...}#讲list集合放入set(list)就可以实现去重效果
# 增删改查:
# 1. 增加 s1 = set()
s1.add('hello')
s1.add('小猪佩奇')
s1.add('lucy')
print(s1)
# add() 添加一个元素
# update() 可以添加多个元素,
t1 = ('林志玲','言承旭')#这里加了元组,元组和list,set不一样的,元组就是可以当成一个统一体的元素
s1.update(t1) # {'hello','林志玲',....}#这个向里面添加多个元素的
print(s1)
s1.add(t1)
print(s1)
#2. 删除 remove 如果元素存在则删除,不存在则报错keyError pop 随机删除(一般删除第一个元素) clear。。。
# dicard() 类似remove() 在移除不存的元素的时候不会报错。
s1.remove('言承旭') #list dict set的remove方法删除不了,也就是没有这个元素,就会报错的
print(s1)
# s1.remove('道明寺')
# print(s1)
s1.pop()
print(s1)
s1.pop()
print(s1)
s1.clear() # 清空
print(s1)
字典:
#重复的key则发生覆盖7--8--9三种写法
'''
字典:
特点:
1. 符号:{}
2. 关键字: dict
3. 保存的元素是:key:value -对
列表 元组 字典
[] () {}
list tuple dict
ele ele key:value
'''
dict7 = {}
dict7[555] = 888
dict7[555] = 999
#这种写法会报错,key为数字则转为str,为字符串必须加‘’或“”
dict7[dddd] = 888
print(dict7)
dict8 = {"name":"zhangsan","age":18}
print(dict8)
dict9 = [("name:","zhangsan"),("age",18)]
print(dict9)
来源:oschina
链接:https://my.oschina.net/architectliuyuanyuan/blog/4273854