使用字典和列表型变量完成最有人气的明星的投票数据分析 字典类型的变量
一:基本使用 1 用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述性的功能 当存储多个值表示的不同的状态时,一般用字典。 注意:字典的key值必须是可hash的,必须是不可变类型 2 定义方式:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式 value可以是任意数据类型,但是key必须为不可变类型,key通常应该是字符串类型,数字,浮点型不具有描述性。 d={'x':1,'y':2} #d=dict({'x':1,'y':2}) d=dict(a=1,b=2,c=3) #{'a': 1, 'b': 2, 'c': 3} # 字典的简单创建方式 print(d) dic={1:'a',0:'b',1.1:'c',(1,2,3):'d'} # 这些理论上都可以,但是通常用字符串对值进行描述。 print(dic[1]) print(dic[0]) print(dic[1.1]) print(dic[(1,2,3)]) dic={[1,2,3]:'a'} # key是字典和列表时会报错,因为字典和列表是可变的,不可hash dic={{'x':1}:'a'} 3 常用操作+内置的方法 优先掌握的操作: 1、按key存取值:可存可取 d={'x':1,'y':2} d['x']=100 print(d) d['z']=3 # 字典中不存在这个key也不会报错,是添加字典键值对的一种方法。 print(d) l=['a','b'] # 在列表里没有2这个索引会报错 l[2]='c' 2、长度len d={'x':1,'y':2} print(len(d)) # 2 3、成员运算in和not in d={'x':1,'y':2} print('x' in d) # True 只能判断key是否在字典里。 print(1 in d) # False 4、删除 d={'x':1,'y':2} del d['x'] # 删除键值对 print(d) res=d.pop('y') # 字典里pop()里面是key值 print(d) {"x":1} # 删除key即删除y的键值对 print(res) # 2 # 有返回值,是key 为y对应的值。 res=d.popitem() # 随机删除 print(d) # {'x': 1} # ('y', 2) # 返回值是一个元组,里面有key,value值,逗号分开 print(res) d={'a':1,'b':2,'c':3,'d':4} # 循环键(key)。 for k in d: print(k) a b c d l=[1,2,3] # del 同样适用于字典 del l[1] print(l) dic = {"a":"v","d":"t"} del dic["a"] print(dic) 5、键keys(),值values(),键值对items() msg_dic={ 'apple':10, 'tesla':100000, 'mac':3000, 'lenovo':30000, 'chicken':10, } names=[] # for k in msg_dic: # 取出字典的键 # names.append(k) # print(names) # values=[] # 取出字典的值 # for k in msg_dic: # values.append(msg_dic[k]) # print(values) # keys=msg_dic.keys() # 生成器 # print(keys) # for k in keys: # 通过for循环取出所有的键 print(k) l=list(keys) # 惰性序列用list转换为列表 print(l) vals=msg_dic.values() # 同上,value的生成器 print(vals) print(list(vals)) print(msg_dic.items()) print(list(msg_dic.items())) # 字典通过items直接转换成列表 ***** 6、循环 msg_dic={ 'apple':10, 'tesla':100000, 'mac':3000, 'lenovo':30000, 'chicken':10, } for k in msg_dic: print(k,msg_dic[k]) 只取key for k in msg_dic.keys(): **** print(k,msg_dic[k]) 只取value for v in msg_dic.values(): **** print(v) 取key和value for k,v in msg_dic.items(): #k,v=('apple', 10) ***** print(k,v) 需要掌握的内置方法(****) d={'x':1,'y':2,'z':3} v=d.get('xxxx') # get取值,如果key不存在会返回None,不会报错 print(v) print(d['xxxxxxx']) # 直接用dic[key]取值,如果key不存在,会报错 更新原字典 d={'x':1,'y':2,'z':3} d1={'a':1,'x':1111111} d.update(d1) # 括号里面是要插入到元字典里的。 print(d) 原字典的"x"对应的值变为11111111 ,原来没有"a"这个键,直接把键值对更新到里面。 {'x': 1111111, 'y': 2, 'z': 3, 'a': 1} l=['name','age','sex'] d={} for k in l: # 用循环创建字典,类似fromkeys的源代码 d[k]=None d=dict.fromkeys(l,None) # 创建字典的初始形态。 print(d) info.setdefault info={'name':'egon','age':18,'sex':'male'} 如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value res=info.setdefault('name','EGON_NB') print(info) print(res) 如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value info.setdefault('height',1.80) print(info) info={'age':18,'sex':'male'} v=info.setdefault('name','浩哥') print(v) 统计s = 'hello alex alex say hello sb sb'中每个单词的个数 s = 'hello alex alex say hello sb sb' l = s.split() dic = {} for k in l: if k not in dic: dic[k] = 1 else: dic[k] += 1 print(dic) s = 'hello alex alex say hello sb sb' l = s.split() print(l) d = {} for word in l: # word= 'hello' if word not in d: d[word] = 1 # {'hello':2, 'alex':2,'say':1} else: d[word] += 1 print(d) s='hello alex alex say hello sb sb' l=s.split() print(l) d={} # d={'hello':2,'alex':2} for word in l: #word='alex' d[word]=l.count(word) #d['alex']=2 d.setdefault(word,l.count(word)) # 用setdefault,如果存在相同的key,setdefault不会再去进行计算。 print(d) 二:该类型总结 1 存一个值or存多个值 可以存多个值,值都可以是任意类型,而key必须是不可变类型,通常应该是不可变类型中字符串类型 2 有序or无序 无序 3 可变or不可变 d={'x':1,'y':2} print(id(d)) d['x']=1111 print(id(d))1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.96.97.98.99.100.101.102.103.104.105.106.107.108.109.110.111.112.113.114.115.116.117.118.119.120.121.122.123.124.125.126.127.128.129.130.131.132.133.134.135.136.137.138.139.140.141.142.143.144.145.146.147.148.149.150.151.152.153.154.155.156.157.158.159.160.161.162.163.164.165.166.167.168.169.170.171.172.173.174.175.176.177.178.179.180.181.182.183.184.185.186.187.188.189.190.191.192.193.194.195.196.197.198.199.200.201.202.203.204.205.206.207.208.209.210.211.212.213.
网址:使用字典和列表型变量完成最有人气的明星的投票数据分析 字典类型的变量 https://mxgxt.com/news/view/1978200
相关内容
使用字典和列表型变量完成最有人气的明星的投票数据分析 字典类型的变量直播数据分析中5大经典模型的使用
StarRocks数据字典管理
数字人产业图谱及典型范例
库里投票结果分析怎么看数据的
列表、字典、集合中筛选数据
四个变量数据分析图表怎么画
医美典型明星名单表:揭秘明星变美的秘密武器
徐明星的欧科云链“数字化”转型
C语言中变量前加#的含义与变量命名中的特殊字符解析(解析2024版)

