python常用字典操作范例详解编程语言
2023-06-13 09:20:23 时间
# experimenting with the Python dictionary # a seemingly unordered set of key:value pairs, types can be mixed # Python23 tested vegaseat 13feb2005 # initialize a dictionary, here a dictionary of roman numerals romanD = {I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9} print "A dictionary is an unordered set of key:value pairs:" print romanD # create an empty dictionary D1 = {} # show empty dictionary contents and length (number of item/pairs) print "Empty Dictionary contains:" # shows {} print D1 # shows Length = 0 print "Length = ", len(D1) # add/load new key:value pairs by using indexing and assignment # here eins is the key, one is the key value # the start of a german to english dictionary D1[null] = zero D1[eins] = one D1[zwei] = two D1[drei] = three D1[vier] = four # print loaded dictionary and length # the dictionary key order allows for most efficient searching print "Dictionary now contains (notice the seemingly random order of pairs):" print D1 print "Length = ",len(D1) # find the value by key (does not change dictionary) print "The english word for drei is ", D1[drei] # better if drei in D1: print "The english word for drei is ", D1[drei] # create a list of the values in the dictionary L1 = D1.values() # the list can be sorted, the dictionary itself cannot L1.sort() print "A list of values in the dictionary (sorted):" print L1 # create a list of dictionary keys L2 = D1.keys() L2.sort() print "A list of the dictionary keys (sorted):" print L2 # does the dictionary contain a certain key? if D1.has_key(null): print "Key null found!" else: print "Key null not found!" # copy dictionary D1 to D2 (the order may not be the same) D2 = D1.copy() print "Dictionary D1 has been copied to D2:" print D2 # delete an entry del D2[zwei] print "Dictionary D2 after zwei has been deleted:" print D2 # extract the value and remove the entry # pop() changes the dictionary, use e3 = D2[drei] for no change e3 = D2.pop(drei) print "Extract value for key = drei and delete item from dictionary:" print e3 print "Dictionary D2 after drei has been popped:" print D2 print str1 = "I still miss you baby, but my aims gettin better!" print str1 print "Count the characters in the above string:" # create an empty dictionary charCount = {} for char in str1: charCount[char] = charCount.get(char, 0) + 1 print charCount print if t in charCount: print "There are %d t in the string" % charCount[t] print str2 = "It has been a rough day. I got up this morning put on a shirt and a" str2 = str2 + " button fell off. I picked up my briefcase and the handle came off." str2 = str2 + " Now I am afraid to go to the bathroom." print str2 print "Count the words in the above string, all words lower case:" # create a list of the words wordList = str2.split(None) # create an empty dictionary wordCount = {} for word in wordList: # convert to all lower case word = word.lower() # strip off any trailing period, if needed do other punctuations if . in word: word = word.rstrip(.) # load key:value pairs by using indexing and assignment wordCount[word] = wordCount.get(word, 0) + 1 print wordCount print # put keys into list and sort keyList = wordCount.keys() keyList.sort() # display words and associated count in alphabetical order for keyword in keyList: print keyword, "=", wordCount[keyword] # put the dictionary pairs into a list, use the romanD dictionary romanList = [] for key, value in romanD.items(): # put value first for a meaningful sort romanList.append((value, key)) romanList.sort() print "/nThe roman numeral dictionary put into a (value,pair) list then sorted:" print romanList print "/nList them as pairs on a line:" for i in xrange(len(romanList)): print romanList[i][0],=, romanList[i][1] print # split the romanD dictionary into two lists print "Splitting the romanD dictionary into two lists:" romankeyList = [] romanvalueList = [] for key, value in romanD.items(): romankeyList.append(key) romanvalueList.append(value) print "Key List:",romankeyList print "Value List:",romanvalueList print # make a dictionary from the two lists print "Combining the two lists into a dictionary:" romanD1 = dict(zip(romankeyList, romanvalueList)) print romanD1 # to save a Python object like a dictionary to a file # and load it back intact you have to use the pickle module import pickle print "The original dictionary:" print romanD1 file = open("roman1.dat", "w") pickle.dump(romanD1, file) file.close() file = open("roman1.dat", "r") romanD2 = pickle.load(file) file.close() print "Dictionary after pickle.dump() and pickle.load():" print romanD2 print # lets get rid of some duplicate words str = "Senator Strom Thurmond dressed as as Tarzan" print "/nOriginal string:" print str print "A list of the words in the string:" wrdList1 = str.split() print wrdList1 def uniqueList(anyList): """given a list, returns a unique list with the order retained""" # create an empty dictionary dic1 = {} # use a list comprehension statement and the unique feature of a dictionary return [dic1.setdefault(e,e) for e in anyList if e not in dic1] # a call to the above function will retain the order of words wrdList2 = uniqueList(wrdList1) print "Convert unique list back to string (order retained):" print " ".join(wrdList2)
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/8187.html
cgojavapython相关文章
- python运行代码不成功_Python | PyCharm无法直接运行(Run)脚本
- Python实现商场管理系统
- python-Python与MongoDB数据库-使用Python执行MongoDB查询(二)
- python创建简单区块链详解编程语言
- 用 Python 实现每秒处理 120 万次 HTTP 请求详解编程语言
- python shell 根据 ip 获取 hostname详解编程语言
- python 解析XML详解编程语言
- Python的线程控制类详解编程语言
- 批量修改图片大小Python代码详解编程语言
- python操作mysql数据库的简单示例详解编程语言
- python每隔N秒运行指定的函数程序详解编程语言
- Python抓取指定网页以及该网页上所有链接详解编程语言
- 将Python源代码导出成HTML文件并带语法高亮详解编程语言
- python实现堆排序算法代码详解编程语言
- Python-面向对象编程(二)详解编程语言
- Google开源了Abseil,为C++和Python开发提供支持详解编程语言
- Python类三种方法,函数传参,类与实例变量(一)详解编程语言
- python全栈开发-Day6 字符编码详解编程语言
- 小白的Python之路 day1 变量详解编程语言
- Hello World之Python版详解编程语言
- python-面向对象的更多说明详解编程语言
- Python_day12_作业详解编程语言
- 如何在文本文件中控制字符的处理(Python)详解编程语言
- python开发环境搭建详解编程语言