赞
踩
参考或摘自
http://www.shareblogs.top/270/
https://www.runoob.com/python3/python3-string.html
Python3 有六种标准的数据类型,分为可变数据和不可变数。可变数据,是指其变量的大小/长度等等是可以变的,比如List=[0,1]可以通过赋值变长到List=[0,1,2]。不可变数以字符串为代表,其内的字符是不可以被替代的。比如str = "ABC"不可修改成str = "ABD"。
不可变数据包括:
- Number(数字)
- String(字符串)
- Tuple(元组)
可变数据包括:
- List(列表)
- Dictionary(字典)
- Set(集合)
单变量赋值
单变量赋值,变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
多个变量赋值
多个变量赋值往往用逗号隔开。比如
- # 命令行参数
- """
- """
-
- # 变量赋值
- print("---------------单变量赋值---------------")
- a = b = c = 100 # 变量与符号之间必须空一格,才符合Python的书写规范
- d = 10.111
- e = "miss"
- f = 'I Love You'
- print(a)
- print(b)
- print(c)
- print(e)
- print(f)
-
- print("---------------多变量赋值---------------")
- a, b, c = 11, 22, "我是字符串c" # 逗号与逗号之间必须空一格,才符合Python的书写规范
- print(a)
- print(b)
- print(c)
输出结果:
- ---------------单变量赋值---------------
- 100
- 100
- 100
- miss
- I Love You
- ---------------多变量赋值---------------
- 11
- 22
- 我是字符串c
函数 | 描述 |
将x转换为一个整数 | |
将x转换到一个浮点数 | |
创建一个复数 | |
将对象 x 转换为字符串 | |
将对象 x 转换为表达式字符串 | |
用来计算在字符串中的有效Python表达式,并返回一个对象 | |
将序列 s 转换为一个元组 | |
将序列 s 转换为一个列表 | |
转换为可变集合 | |
创建一个字典。d 必须是一个序列 (key,value)元组。 | |
转换为不可变集合 | |
将一个整数转换为一个字符 | |
将一个字符转换为它的整数值 | |
将一个整数转换为一个十六进制字符串 | |
将一个整数转换为一个八进制字符串 |
python中Number有四种数值类型:整数、布尔型、浮点数和复数、字符串。
- # 查询数据类型
- print("---------------查询数据类型---------------")
- a, b, c, d, e = 11, 5.69, 10 - 1.2j, "我是字符串c", True
- print(a)
- print(b)
- print(c)
- print(d)
- print(e)
-
- print(type(a))
- print(type(b))
- print(type(c))
- print(type(d))
- print(type(e))
输出结果:
- ---------------查询数据类型---------------
- 11
- 5.69
- (10-1.2j)
- 我是字符串c
- True
- <class 'int'>
- <class 'float'>
- <class 'complex'>
- <class 'str'>
- <class 'bool'>
- # 数据类型的判断
- a = 111
- print(isinstance(a, int))
- class B:
- pass
- class B1(B): # B是父类,B1是子类。
- pass
- print(isinstance(B1(), B)) # isinstance()会认为子类是一种父类类型,因此输出True
- print(type(B1) == B) # type()不会认为子类是一种父类类型, 因此输出False
输出结果:
- True
- True
- False
- # 数值类型的运算
- a = 10
- b = 3.4
- print("a + b =", a + b)
- print("a - b =", a - b)
- print("a * b =", a * b)
- print("a // b =", a // b) # 除法,四舍五入后,得到一个整数
- print("a / b =", a / b) # 除法,得到一个浮点数
- print("a % b =", a % b) # 除法,得到一个余数
- print("a ** b =", a ** b) # 乘方,即a的b次方
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- a + b = 13.4
- a - b = 6.6
- a * b = 34.0
- a // b = 2.0
- a / b = 2.9411764705882355
- a % b = 3.2
- a ** b = 2511.88643150958
-
- Process finished with exit code 0
- python中单引号和双引号使用完全相同。
- 使用三引号('''或""")可以指定一个多行字符串。
- 转义符 '\'反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 如 r"this is a line with \n" 则\n会显示,并不是换行。
- 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
- Python中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
下表实例变量a值为字符串 "Hello",b变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | |
% | 格式字符串 | 请看下一节内容。 |
- # 字符串
- print('---------------单引号字符串---------------')
- str = '我是小明'
- print(str) # 输出字符串
- print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
- print(str[0]) # 输出字符串第一个字符
- print(str[2:5]) # 输出从第三个开始到第五个的字符
- print(str[2:]) # 输出从第三个开始的后的所有字符
- print(str * 2) # 输出字符串两次
- print(str + '你好') # 连接字符串
-
- print('---------------双引号字符串---------------')
- str2 = "我是隔壁老黄"
- print('你好' + str2) # 连接字符串
-
- print('-------------转义字符输出-----------------')
- print('hello\n runoob') # 使用反斜杠(\)+n转义特殊字符
- print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
输出结果:
- ---------------单引号字符串---------------
- 我是小明
- 我是小
- 我
- 小明
- 小明
- 我是小明我是小明
- 我是小明你好
- ---------------双引号字符串---------------
- 你好我是隔壁老黄
- -------------转义字符输出-----------------
- hello
- runoob
- hello\nrunoob
字符
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。比如:
- # 字符
- str = "我是隔壁老黄"
- print(str[0])
- print(str[0] + str[1] + str[2]) # 输出连续的字符
- print(str[0], str[1], str[2]) # 输出连续的字符,单字符与字符之间,会空一格
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- 我
- 我是隔
- 我 是 隔
-
- Process finished with exit code 0
与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如srt[0] = 'm'会导致错误。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。python字符串格式化符号:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令:
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
输出结果:
我叫 小明 今年 10 岁!
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下:
- # 三引号,可以用来注释,也可以用来输出长的,并且可以换行的字符串。这里输出长字符串。
- singleHTML = ''' # 单三引号,必须和等号放在同一行。
- <HTML><HEAD><TITLE>
- Friends CGI Demo</TITLE></HEAD>
- <BODY><H3>ERROR</H3>
- <B>%s</B><P>
- <FORM><INPUT TYPE=button VALUE=Back
- ONCLICK="window.history.back()"></FORM>
- </BODY></HTML>
- '''
- print(singleHTML) # 可以输出三引号的字符串。
-
- doubleHTML = """ # 双三引号,必须和等号放在同一行。
- <HTML><HEAD><TITLE>
- Friends CGI Demo</TITLE></HEAD>
- <BODY><H3>ERROR</H3>
- <B>%s</B><P>
- <FORM><INPUT TYPE=button VALUE=Back
- ONCLICK="window.history.back()"></FORM>
- </BODY></HTML>
- """
- print(doubleHTML) # 可以输出三引号的字符串。
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- # 单三引号,必须和等号放在同一行。
- <HTML><HEAD><TITLE>
- Friends CGI Demo</TITLE></HEAD>
- <BODY><H3>ERROR</H3>
- <B>%s</B><P>
- <FORM><INPUT TYPE=button VALUE=Back
- ONCLICK="window.history.back()"></FORM>
- </BODY></HTML>
-
- # 双三引号,必须和等号放在同一行。
- <HTML><HEAD><TITLE>
- Friends CGI Demo</TITLE></HEAD>
- <BODY><H3>ERROR</H3>
- <B>%s</B><P>
- <FORM><INPUT TYPE=button VALUE=Back
- ONCLICK="window.history.back()"></FORM>
- </BODY></HTML>
-
-
- Process finished with exit code 0
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。
序号 | 方法及描述 |
---|---|
1 | capitalize() |
2 | 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 |
3 | count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
4 | bytes.decode(encoding="utf-8", errors="strict") Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 |
5 | encode(encoding='UTF-8',errors='strict') 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace' |
6 | endswith(suffix, beg=0, end=len(string)) |
7 | 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。 |
8 | find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 |
9 | index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常. |
10 | 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
11 | 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
12 | 如果字符串只包含数字则返回 True 否则返回 False.. |
13 | 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
14 | 如果字符串中只包含数字字符,则返回 True,否则返回 False |
15 | 如果字符串中只包含空白,则返回 True,否则返回 False. |
16 | 如果字符串是标题化的(见 title())则返回 True,否则返回 False |
17 | 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
18 | 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
19 | 返回字符串长度 |
20 | 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 |
21 | 转换字符串中所有大写字符为小写. |
22 | 截掉字符串左边的空格或指定字符。 |
23 | 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
24 | 返回字符串 str 中最大的字母。 |
25 | 返回字符串 str 中最小的字母。 |
26 | 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。 |
27 | rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找. |
28 | rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始. |
29 | 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串 |
30 | 删除字符串字符串末尾的空格. |
31 | split(str="", num=string.count(str)) num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串 |
32 | 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 |
33 | startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。 |
34 | 在字符串上执行 lstrip()和 rstrip() |
35 | 将字符串中大写转换为小写,小写转换为大写 |
36 | 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) |
37 | translate(table, deletechars="") 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中 |
38 | 转换字符串中的小写字母为大写 |
39 | 返回长度为 width 的字符串,原字符串右对齐,前面填充0 |
40 | 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。 |
非规范的字符串书写,常常有下面的提示:
inspection info:spellchecker inspection helps locate typos and misspelling in your code,comments and literals, and fix them in one click(检查信息:拼写检查有助于在代码,注释和文字中找到拼写错误,并在一次单击中修复它们)
只要我们写得规范,就不会有下面的提示了,比如下图的e = "miss",就很规范了。
再比如
- 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。
- 元组写在小括号 () 里,元素之间用逗号隔开。
- 与字符串一样,元组的元素不能修改。
- 注意构造包含 0 或 1 个元素的元组的特殊语法规则。比如
tup1 = () # 空元组
tup2 = (20,) # 一个元素,要添加逗号
- 元组也可以使用+操作符进行拼接
- # 元组Tuple
- print("------------------------输出元组元素-----------------------------")
- list1 = (1212, 3.333, "abc", 10 + 10j, 'I')
- list2 = ("miss", "you", 520)
- print(list1)
- print(list2)
- print(list1[0])
- print(list1[1:1])
- print(list1[1:2])
- print(list1[1:3]) # 输出从第1个位置起,到第(3-1)个位置的元素
- print(list1[1:]) # 输出从第1个位置起的所有元素
- print(list1 * 2) # 重复输出
- print(list1 + list2) # 字符串连接
-
- print("------------------------报错,不能修改元组元素-----------------------------")
- list1[0] = 1000 # 修改列表的值
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- ------------------------输出元组元素-----------------------------
- (1212, 3.333, 'abc', (10+10j), 'I')
- ('miss', 'you', 520)
- 1212
- ()
- (3.333,)
- (3.333, 'abc')
- (3.333, 'abc', (10+10j), 'I')
- (1212, 3.333, 'abc', (10+10j), 'I', 1212, 3.333, 'abc', (10+10j), 'I')
- (1212, 3.333, 'abc', (10+10j), 'I', 'miss', 'you', 520)
- ------------------------报错,不能修改元组元素-----------------------------
- Traceback (most recent call last):
- File "F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py", line 202, in <module>
- list1[0] = 1000 # 修改列表的值
- TypeError: 'tuple' object does not support item assignment
-
- Process finished with exit code 1
Python元组包含了以下内置函数
序号 | 方法及描述 | 实例 |
---|---|---|
1 | len(tuple) 计算元组元素个数。 | |
2 | max(tuple) 返回元组中元素最大值。 | |
3 | min(tuple) 返回元组中元素最小值。 | |
4 | tuple(seq) 将列表转换为元组。 | |
- List(列表) 是 Python 中使用最频繁的数据类型。
- 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
- 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
- 和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
- # 列表List
- print("------------------------输出列表元素-----------------------------")
- list1 = [1212, 3.333, "abc", 10 + 10j, 'I']
- list2 = ["miss", "you", 520]
- print(list1)
- print(list2)
- print(list1[0])
- print(list1[1:1])
- print(list1[1:2])
- print(list1[1:3]) # 输出从第1个位置起,到第(3-1)个位置的元素
- print(list1[1:]) # 输出从第1个位置起的所有元素
- print(list1 * 2) # 重复输出
- print(list1 + list2) # 字符串连接
-
- print("------------------------修改列表元素-----------------------------")
- list1[0] = 1000 # 修改列表的值
- print(list1)
- list1[1:3] = 2000, "modifyList1", 3000, 4000, "none" # 插入有效的元素,并且取代了原来第二、第三的位置。
- print(list1)
- list1[1:3] = [] # 插入空的元素,并且取代了原来第二、第三的位置。整体效果相当于删除了这两个元素
- print(list1)
- print("------------------------截取列表元素-----------------------------")
- print(list1[0:5:2]) # 从第0个位置到第5个位置,以步进为2的方式截取元素。
- print("------------------------翻转列表的元素,即倒序-----------------------------")
- print(list1[-1::-1]) # 从第0个位置到第5个位置,以步进为2的方式截取元素。
- print("------------------------利用子函数reverseWords1,翻转列表的元素,并将每个元素间隔一个空格拆分为字符,-----------------------------")
- def reverseWords1(input):
- # inputWords = input.split(" ")
- input = input[-1::-1]
- output = ' '.join(input)
- return output
- list3 = "I love you forever"
- list4 = reverseWords1(list3)
- print(list4)
-
- print("------------------------利用子函数reverseWords2,翻转列表的元素-----------------------------")
- def reverseWords2(input):
- inputWords = input.split(" ")
- reverseWords = inputWords[-1::-1]
- output = ' '.join(reverseWords)
- return output
- list5 = "I love you forever"
- list6 = reverseWords2(list5)
- print(list6)
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- ------------------------输出列表元素-----------------------------
- [1212, 3.333, 'abc', (10+10j), 'I']
- ['miss', 'you', 520]
- 1212
- []
- [3.333]
- [3.333, 'abc']
- [3.333, 'abc', (10+10j), 'I']
- [1212, 3.333, 'abc', (10+10j), 'I', 1212, 3.333, 'abc', (10+10j), 'I']
- [1212, 3.333, 'abc', (10+10j), 'I', 'miss', 'you', 520]
- ------------------------修改列表元素-----------------------------
- [1000, 3.333, 'abc', (10+10j), 'I']
- [1000, 2000, 'modifyList1', 3000, 4000, 'none', (10+10j), 'I']
- [1000, 3000, 4000, 'none', (10+10j), 'I']
- ------------------------截取列表元素-----------------------------
- [1000, 4000, (10+10j)]
- ------------------------翻转列表的元素,即倒序-----------------------------
- ['I', (10+10j), 'none', 4000, 3000, 1000]
- ------------------------利用子函数reverseWords1,翻转列表的元素,并将每个元素间隔一个空格拆分为字符,-----------------------------
- r e v e r o f u o y e v o l I
- ------------------------利用子函数reverseWords2,翻转列表的元素-----------------------------
- forever you love I
-
- Process finished with exit code 0
Python包含以下函数:
Python包含以下方法:
序号 | 方法 |
---|---|
1 | list.append(obj) 在列表末尾添加新的对象 |
2 | list.count(obj) 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) 将对象插入列表 |
6 | list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort( key=None, reverse=False) 对原列表进行排序 |
10 | list.clear() 清空列表 |
11 | list.copy() 复制列表 |
- 列表是有序的对象集合,字典是无序的对象集合。
- 键必须是唯一的,但值则不必。
- 字典的关键字必须为不可变类型,且不能重复。
- 创建空字典使用 { }。
- 字典是一种映射类型,它的元素是键值对。与数据库的数据映射有些类似。
- # Dictionary(字典)
- print("-----------------输出字典-------------------------")
- dictionary = {'name': 'runoob','code' : 1, 'site': 'www.runoob.com'}
- print(dictionary) # 输出完整的字典
- print(dictionary.keys()) # 输出所有键,这里的键相当于关键字。和Json格式数据优点类似
- print(dictionary.values()) # 输出所有值
-
- print("-----------------修改字典-------------------------")
- dictionary['name'] = 'xiaoxiao'
- print(dictionary['name'])
- print(dictionary.keys())
- print(dictionary.values())
-
- print("-----------------删除字典的元素name-------------------------")
- del dictionary['name'] # 删除键 'name'
- print(dictionary)
-
- print("-----------------情况字典所有元素-------------------------")
- dictionary.clear()
- print(dictionary)
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- -----------------输出字典-------------------------
- {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
- dict_keys(['name', 'code', 'site'])
- dict_values(['runoob', 1, 'www.runoob.com'])
- -----------------修改字典-------------------------
- xiaoxiao
- dict_keys(['name', 'code', 'site'])
- dict_values(['xiaoxiao', 1, 'www.runoob.com'])
- -----------------修改字典-------------------------
- {'code': 1, 'site': 'www.runoob.com'}
- -----------------清空字典-------------------------
- {}
-
- Process finished with exit code 0
Python字典包含了以下内置函数:
序号 | 函数及描述 | 实例 |
---|---|---|
1 | len(dict) 计算字典元素个数,即键的总数。 | |
2 | str(dict) 输出字典,以可打印的字符串表示。 | |
3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 | |
Python字典包含了以下内置方法:
序号 | 函数及描述 |
---|---|
1 | radiansdict.clear() 删除字典内所有元素 |
2 | radiansdict.copy() 返回一个字典的浅复制 |
3 | radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | key in dict 如果键在字典dict里返回true,否则返回false |
6 | radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表 |
8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表 |
11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。 |
- 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
- 基本功能是进行成员关系测试和删除重复元素。
- 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
- 集合可以进行增删改查元素,更多参考https://www.cnblogs.com/SmallWZQ/p/8488744.html
- # Set(集合)参考 https://www.cnblogs.com/SmallWZQ/p/8488744.html
-
- print("------------------------创建集合-----------------------------")
- a1 = set() # 空集合
- a2 = {'a', 'b', 'c', 'd'} # 字符集合
- a3 = set('abcdefabcd') # 字符集合
- a4 = set(['aaa', 'b', 'c', 'a', "aaa"]) # 字符集合(输出元素不会重复)
- print(a1)
- print(a2)
- print(a3)
- print(a4)
-
- print("------------------------输出集合的非重元素-----------------------------")
- student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
- print(student) # 输出集合,重复的元素被自动去掉
-
- print("------------------------输出集合的成员测试结果-----------------------------")
- if 'Rose' in student:
- print('Rose 在集合中')
- else:
- print('Rose 不在集合中')
-
-
- print("------------------------输出集合的交集/并集等-----------------------------")
- a = set('abracadabra')
- b = set('alacazam')
- print(a)
- print(a - b) # a 和 b 的差集
- print(a | b) # a 和 b 的并集
- print(a & b) # a 和 b 的交集
- print(a ^ b) # a 和 b 中不同时存在的元素
-
- print("------------------------往集合中添加元素-----------------------------")
- a4 = set(['bbb', 'ccc'])
- a4.add("aaaa")
- print(a4)
-
- print("------------------------删除集合的元素-----------------------------")
- a4 = set(['bbb', 'ccc'])
- a4.remove("bbb")
- print(a4)
- print("------------------------计算集合元素的个数-----------------------------")
- a4 = set(['bbb', 'ccc'])
- print(len(a4))
- print("------------------------清空集合-----------------------------")
- a4 = set(['bbb', 'ccc'])
- a4.clear()
- print(a4) # 清空后,会输出set()
输出结果:
- C:\Users\lanmage2\test1\Scripts\python.exe F:/百度云同步盘/我的学习/18、python/test1/View/flie2.py
- ------------------------创建集合-----------------------------
- set()
- {'b', 'c', 'd', 'a'}
- {'e', 'c', 'd', 'b', 'f', 'a'}
- {'b', 'c', 'aaa', 'a'}
- ------------------------输出集合的非重元素-----------------------------
- {'Rose', 'Jim', 'Jack', 'Tom', 'Mary'}
- ------------------------输出集合的成员测试结果-----------------------------
- Rose 在集合中
- ------------------------输出集合的交集/并集等-----------------------------
- {'c', 'd', 'b', 'r', 'a'}
- {'b', 'r', 'd'}
- {'c', 'z', 'd', 'm', 'b', 'r', 'l', 'a'}
- {'c', 'a'}
- {'m', 'b', 'r', 'z', 'd', 'l'}
- ------------------------往集合中添加元素-----------------------------
- {'bbb', 'ccc', 'aaaa'}
- ------------------------删除集合的元素-----------------------------
- {'ccc'}
- ------------------------计算集合元素的个数-----------------------------
- 2
- ------------------------清空集合-----------------------------
- set()
-
- Process finished with exit code 0
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 删除集合中的元素,该元素在指定的集合中不存在。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
以上就是我们常用的数据类型及其运算、函数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。