python数据类型与函数_TODO_元组

时间秒杀一切 提交于 2020-08-15 02:48:19

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)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!