PythonDay6
Day6
元组和字典
开始下标;结束下标:步长(步长为正,步长为负)
省略开始下标要写:(步长为正,从开始第一个取,步长为负从最后一个开始取)
省略结束下标不写:
大小需两个列表比较>,<,>=,<=(从第一个元素开始比较)
比较相等:==,!=
In和not in
new_num = []
for x in nums:
if nums.count(x) == max_count and x not in new_num:
new_num.append(x)
print(new_num)
Sum,max,min,sorted,len,list
scores = [13,36,78,93,99]
scores.remove(max(scores))
scores.remove(min(scores))
print('最后得分:',sum(scores)/len(scores))
相关方法
Clear count index extend reverse(倒叙)sort(排序,直接修改原列表)
Len(获取)
求和:sum1 += x或print(sum(list1))
切片:print(list1[1::2])
元组
元组是不可变列表
元组是容器型数据类型,将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,。。。)
元组不可变(不支持元素的增删改):元素是有序的(支持下标操作)
元素:任何类型的数据,并且可以重复
元组中只有一个元素:(元素,)
如果一个元组中有且只有一个元素,那么唯一元素后面必须加逗号
省略括号:在没有歧义的情况下,可以省略元组的(),直接将多个元素用逗号隔开来表示一个元组
获取元素:列表获取元素的方法元组都支持
让变量的个数和元组中元素的个数保持一致来获取元组所有元素的值
同时用多个变量获取元组元素的时候,变量的个数可以比元组中元素的个数少,但是必须有且只有一个变量前有*
t8 = (1,2,3,4)
x,*y,z = t8
print(x,y,z)
列表相关操作元组都支持
字典
同时保存多个意义不同的数据就使用字典
字典是容器型数据类型,将{}作为容器的标志,里面多个元素用逗号隔开(元素必须是键值对):{键1:值1,键2:值2,键3:值3}
字典是可变的(支持增删改);字典是无序的(不支持下标操作)
元素:必须是键值对;键必须是不可变的数据(数字,字符串,元组),一般使用字符串;键是用来对值进行描述和区分的,唯一的;值没有要求
字典.[key] 获取指定key对应的值
字典.get(key) 获取指定key对应的值(如果key不存在不会报错,返回None)
字典.get(key,默认值) 获取指定key对应的值(如果key不存在不会报错,返回指定的默认值)
For变量 in 字典:
键值对离开了字典无效
字典【key】= 当key存在就是修改key对应的值;当key不存在,键对就不存在
Del 字典(key)删除指定key对应的键值对
字典。Pop(key)指定key对应的值,并且返回
字典不支持加法,乘法运算,也不支持比较大小
字典支持in和not in
d1 = {'a':10,'b':20,'c':30}
print(10 in d1) #false
print('a' in d1) #true
print(len(d1))
Key in字典 ——判断字典中是否存在指定的键
相关函数:len,dict、
字典的类型转换 :
dict(数据)-将指定数据转换成字典
data = ['ab',(10,20),['abc',123]]
print(dict(data))
数据的要求:
1.数据本身是序列
2.序列的每个元素必须是长度为2的小序列
data = ['ab',(10,20),['abc',123]]
print(dict(data))
3.小序列中的第一个元素是不可变的数据
List(字典)——将指定字典转换成列表(将字典的key作为列表的元素)
字典.clear()——清空字典
d1 = {'a':10,'b':20,'c':30}
d1.clear()
print(d1)
字典.copy()——复制字典产生一个一模一样的新字典并返回
d2 = {'a':10,'b':20,'c':30}
d1.copy()
print(d2)
dict.fromkeys(列表)——创建一个新的字典,键是序列中的每一个元素,值都是None
print(dict.fromkeys('abc'))
dict.fromkeys(序列,值)——创建一个新的字典,键是序列中的每一个元素,值是指定的值
print(dict.fromkeys('abc',100))
Keys,values,items
字典.keys——获取字典所有的key(返回值是序列但是不是列表)
print(d1.keys()) #dict_keys(['a', 'b', 'c'])
字典.values——获取字典所有的值(返回值是序列但是不是列表)
print(d1.values()) #dict_values([10, 20, 30])
字典.items——同时获取每个键值对的键和值(返回值是序列,序列中的元素是元组)
print(d1.items()) #dict_items([('a', 10), ('b', 20), ('c', 30)])
字典.setdefault(键,值)——在字典中添加键值对(只添加不修改)
d1.setdefault('a',111)
print(d1) #{'a': 10, 'b': 20, 'c': 30}
字典1.update(字典2)——将字典2中所有的键值对都添加到字典1中(字典2不一定是字典,也可以是能转化成字典的序列)
d1 = {'a':10,'b':20,'c':30}
d1.update({'name':'张三','age':20,'a':100})
print(d1)
d1.update(('nm',[10,20]))
print(d1)
下一篇: django缓存