1. List
#!/usr/bin/env python #_*_coding:utf-8_*_ names = ['Alex',"Tenglan",'Eric'] #print names[0] //python2.7不必加括号 print (names[0])
#!/usr/bin/env python #_*_coding:utf-8_*_ #切片:取多个元素 names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"] print (names[1:4]) #追加 names.append("xiao") print (names) #插入 names.insert(2,"强行从Eric前面插入") print (names) #修改 names[2]="该换人了" print (names)
#删除 del names[2] print (names) #删除指定元素 names.remove("Eric") print (names) #删除列表最后一个值 names.pop() print (names)
#扩展 b = [1,2,3] names.extend(b) print (names) #拷贝 name_copy=names.copy() print (name_copy) #统计 names=['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3] print (names.count("Amy")) #排序 names[-3] = '1' names[-2] = '2' names[-1] = '3' names.sort() print(names)
#反转 names.reverse() print(names) #获取下标 print (names.index("Amy"))
2. Tuple
A tuple is actually similar to a list. It also stores a set of numbers, but once it is created, it cannot be modified, so it is also called Read-only list
Syntax
names = ("alex","jack","eric")
It has only 2 methods, one is count and the other is index ,complete.
#!/usr/bin/env python #_*_coding:utf-8_*_ names = ("alex","jack","eric") print (names.count("alex")) print (names.index("jack"))
3. String operation
#检测字符串是否由字母和数字组成 print ('9aA'.isalnum()) #是否整数 print ('9'.isdigit()) #检测字符串是否只由数字组成。这种方法是只针对unicode对象 str = u"this2009" print (str.isnumeric()) str = u"23443434" print (str.isnumeric()) #判断字符串所包含的字符是否全部可打印。字符串包含不可打印字符,如转义字符,将返回False print (str.isprintable()) #字符串是否仅包含空格或制表符。注意:空格字符与空白是不同的 print (str.isspace())
#判断字符串每个单词的首字母是否大写 print (str.istitle())
#判断所有字母字符是否全部大写 print (str.isupper()) #'alex|jack|rain' print ("|".join(['alex','jack','rain'])) #maketrans intab = "aeiou" outtab = "12345" trantab = str.maketrans(intab, outtab) str = "this is string example....wow!!!" print (str.translate(trantab)) #out: th3s 3s str3ng 2x1mpl2....w4w!!! print (msg.partition('is')) #out: ('my name ', 'is', ' {name}, and age is {age}') #替换 print ("alex li, chinese name is lijie".replace("li", "LI", 1))
#大小写互换 str = "this is string example....wow!!!" print (str.swapcase()) print (msg.zfill(40)) # out: 00000my name is {name}, and age is {age} print (msg.ljust(40,"-")) #my name is {name}, and age is {age}----- print (msg.rjust(40, "-")) #-----my name is {name}, and age is {age} # 检测一段字符串可否被当作标志符,即是否符合变量命名规则 b="ddefdsdff_哈哈" print (b.isidentifier())
4. Dictionary operation
Characteristics of dictionary:
dict is unordered
The key must be unique, so it is naturally deduplicated
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/3/26 13:26 # @Author : corasql # @Site : # @File : dic.py # @Software: PyCharm Community Edition info = { 'stu1101': "TengLan Wu", 'stu1102': "LongZe Luola", 'stu1103': "XiaoZe Maliya", } #增加 info["stu1104"] = "Python " print (info)
#修改 info['stu1101'] ="test" print (info) #删除 info.pop("stu1101") #标准删除姿势 print (info) del info['stu1103'] # 换个姿势删除 print (info) #随机删除 info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} info.popitem() print (info) #查找 info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} print ("stu1102" in info) #标准用法 print (info.get("stu1102")) #获取 print (info["stu1102"]) #同上,但是看下面
print (info["stu1105"]) #如果一个key不存在,就报错,get不会,不存在只返回None #循环dict #方法1 for key in info: print(key,info[key]) #方法2 for k,v in info.items(): #会先把dict转成list,数据里大时莫用 print(k,v)
5. Set operation
A set is an unordered, non-duplicate data combination. Its main functions are as follows:
Remove duplication, turn a list into a set, and it will automatically remove duplicates
Relationship testing, test the intersection, difference, union and other relationships between two sets of data
s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
Basic operations :
t.add('x') # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项: t.remove('H')
len(s) set 的长度 x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t
返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制
6. File operation
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/3/26 14:00 # @Author : corasql # @Site : # @File : file.py # @Software: PyCharm Community Edition f = open('lyrics') # 打开文件 first_line = f.readline() print('first line:', first_line) # 读一行 print('我是分隔线'.center(50, '-')) data = f.read() # 读取剩下的所有内容,文件大时不要用 print(data) # 打印文件 f.close() # 关闭文件
7. Character encoding and transcoding
Need to know:
1. The default encoding in python2 is ASCII, The default in python3 is unicode
2. Unicode is divided into utf-32 (occupies 4 bytes), utf-16 (occupies two bytes), utf-8 (occupies 1-4 bytes) , so utf-16 is the most commonly used unicode version now, but it is still utf-8 that is stored in the file, because utf8 saves space
3. When encoding in py3, the string will be transcoded at the same time. into bytes type, decode will also change bytes back to string while decoding
python2 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/3/26 13:55 # @Author : corasql # @Site : # @File : decode2.py # @Software: PyCharm Community Edition import sys print(sys.getdefaultencoding())
msg = "我爱北京天安门" msg_gb2312 = msg.decode("utf-8").encode("gb2312") gb2312_to_gbk = msg_gb2312.decode("gbk").encode("gbk") print(msg) print(msg_gb2312) print(gb2312_to_gbk) python3 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/3/26 13:51 # @Author : corasql # @Site : # @File : decode.py # @Software: PyCharm Community Edition import sys print(sys.getdefaultencoding())
msg = "我爱北京天安门" #msg_gb2312 = msg.decode("utf-8").encode("gb2312") msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔 gb2312_to_unicode = msg_gb2312.decode("gb2312") gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8") print(msg) print(msg_gb2312) print(gb2312_to_unicode) print(gb2312_to_utf8)
The above is the detailed content of Summary of learning python lists, dictionaries, and sets. For more information, please follow other related articles on the PHP Chinese website!