Python面试问题:数据类型及其内置函数

云课堂学Python 2024-04-12 00:42:09

关于数据类型及其内置函数的 Python 面试问题。

问题1.区分可变对象和不可变对象

可变对象

不可变对象

可以更改内容

无法更改内容

List、dict、set

int、float、bool、string、tuple

易于更改

更改需要创建副本

自定义容器类类型大多是可变的

基本数据类型是不可变的

当需要更改对象的内容时,建议使用可变对象。

不可变对象的特殊情况:元组是不可变的,但可能包含可变的元素,例如列表。

问题2.Python 中的变量是什么

Python 中的变量是存储值的保留内存位置。每当创建变量时,都会在内存中占用一些空间。根据变量的数据类型,解释器将分配内存并决定内存中应存储的内容。

>>> a = 100 # 将值赋值给 a>>> type(a) # 检查变量 a 的类型<class 'int'>问题3.如何一次性为多个变量分配相同的值

可以一次性将相同的值分配给多个变量,如以下代码所示:

>>> a = b = c = "Hello World!">>> a' Hello World!'>>> b' Hello World!'>>> c' Hello World!'>>>问题4.有哪些方法可以将数值从一种类型转换为另一种类型

以下函数可用于将数值从一种形式转换为另一种形式。

# 转换为整数a = 12.3print("a = ", a)print("a = ", int(a))print("---------------")# 转换为浮点数a = 100print("a = ", a)print("a = ", float (a) )print("---------------")# 转换为复数a = 100print("a = ",a)print("a = ", complex(a))# 输出'''a = 12.3a = 12---------------a = 100a = 100.0---------------a = 100a = (100+0j)'''问题5.Python 中定义了哪些用于处理数字的数学函数

内置函数或内置模块 math。例如:

import matha = 12.3print ("向上取整:", math.ceil(a))print("---------------")a = 2print("指数:", math.exp(2))print("---------------")a = 12.3print ("绝对值:", abs(a) )print("---------------")a = 12.3print ("向下取整:", math.floor(a))print("---------------")a = 10print ("对数:", math.log(a))print("---------------")a = 10print ("以10为基数的对数:", math.log10(a))print("---------------")a = 2b = 3print (a,"的",b,"次方:" , pow(2,3))print("---------------")a = 9print ("平方根:", math.sqrt(a))# 输出:'''向上取整: 13---------------指数: 7.38905609893065---------------绝对值: 12.3---------------向下取整: 12---------------对数: 2.302585092994046---------------以10为基数的对数: 1.0---------------2 的 3 次方: 8---------------平方根: 3.0'''问题6.哪些函数可用于处理随机数

要处理随机数,可以使用导入随机模块 random。

import randomseq=[3, 2, 5, 7, 10, 11]print ("随机从序列随机输出一个元素:", random.choice(seq))print("-------------------")print ("随机生成 1 到 10 之间的随机数:", random.randrange(1, 10))print("-------------------")print ("随机生成 0 到 1 之间的随机数:: ",random.random())print("-------------------")seq= [1, 3, 7, 5, 6, 9]random.shuffle(seq)print ("随机排序:", seq)print("-------------------")print ("从指定范围随机生成一个实数: ", random.uniform(11,99))# 输出:'''随机从序列随机输出一个元素: 5-------------------随机生成 1 到 10 之间的随机数: 9-------------------随机生成 0 到 1 之间的随机数:: 0.1878271603030356-------------------随机排序: [3, 1, 7, 5, 6, 9]-------------------从指定范围随机生成一个实数: 13.946806409447436'''问题7.数学模块 math 中定义的三角函数有哪些import math# 正弦print ("sin(1) : ", math.sin(1))print ("-------------------")# 余弦print ("cos (1) : ", math.cos(1))print ("-------------------")# 正切print ("tan(1) : ", math.tan(1))print ("-------------------")# 反正弦print ("asin(1) : ", math.asin(1))print ("-------------------")# 反余弦print ("acos (1) : ", math.acos(1))print ("-------------------")# 反正切print ("atan(1) : ",math.atan(1))print ("-------------------")# 给定坐标值的反正切值print ("atan2(1, 1) : ",math.atan2(1, 1))print ("-------------------")# 欧几里德范数print ("hypot(3,6) : ",math.hypot(3,6))print ("-------------------")# 弧度转换为角度print ("degrees(0.45) : ", math.degrees(0.45))print ("-------------------")# 将角度转换为弧度print ("radians(1) : ", math.radians(1))# 输出:'''sin(1) : 0.8414709848078965-------------------cos (1) : 0.5403023058681398-------------------tan(1) : 1.5574077246549023-------------------asin(1) : 1.5707963267948966-------------------acos (1) : 0.0-------------------atan(1) : 0.7853981633974483-------------------atan2(1, 1) : 0.7853981633974483-------------------hypot(3,6) : 6.708203932499369-------------------degrees(0.45) : 25.783100780887047-------------------radians(1) : 0.017453292519943295'''问题8.Python 中的数字的数据类型有哪些

int(整数)、float(浮点数)、complex(复数)。

>>> a = 1>>> b = 1.1>>> c = 2j+1>>> type(a)<class 'int'>>>> type(b)<class 'float'>>>> type(c)<class 'complex'>问题9.如何将浮点数 12.3 转换为整数

可以通过调用 int() 函数将浮点数转换为整数。

>>> a = 12.3>>> type(a)<class 'float'>>>> int(a)12问题10.如何删除已定义的变量

可以使用 del 关键字删除。

>>> a = 123>>> a123>>> del a>>> aTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'a' is not defined问题11.如何将实数转换为复数

实数可以转换为复数,如以下代码所示:

>>> a= 12.3>>> a = 12.3>>> b = complex(a)>>> b(12.3+0j)>>> a = 3>>> b = 6>>> c = complex(a, b)>>> c(3+6j)问题12.什么是常量

常量是在执行程序时不会更改的值。

问题13.2*4**2 的输出是多少

** 的优先级高于 * 的优先级。因此,将首先计算 4**2。输出值为 32。

4**2 = 16

2*16 = 32。

问题14.以下表达式的输出是什么

print('{0:.4f}'.format(7.0 / 3))

答案:2.3333

问题15.以下表达式的输出是什么

print('{0:.4}'.format(7.0 / 3))

答案:2.333

问题16.以下表达式的输出是什么

print('(0:.4%}'.format(1 / 3))

答案:33.3333%

问题17.以下表达式的价值是什么~5~~5~~~5

~ 用法只有一个那就是按位取反。按位取反,包括符号位。

~x = -(x+1)

因此,给定表达式的输出如下所示:

-65-6问题18.如何定义字符串

字符串可以使用单引号/双引号/三引号创建。

>>> a = "Hello World">>> b = 'Hi'>>> type(a)<class 'str'>>>> type(b)<class 'str' >c = """三个单引号或者三个双引号,可以跨行""">>> type(c)<class 'str'>问题19.我们连接字符串

可以使用以下几种方法连接字符串:

"+" 运算符>>> string1 = "Welcome">>> string2 = " to the world of Python!">>> string3 = string1 + string2>>> string3'Welcome to the world of Python!'join() 方法

join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

「join() 语法:」

str.join(sequence)

>>> sequence = ( "1","2","3","4")>>> '-'.join(sequence)'1-2-3-4'"%" 运算符>>> string1 = "Hello">>> string2 = "World">>> string3 = "%s %s" %(string1, string2)>>> string3'Hello World'format() 方法>>> string1 = "Hello">>> string2 = "World">>> string3 = "{} {}".format(string1, string2)>>> string3'Hello World'f-string>>> string1 = "Hello">>> string2 = "World">>> string3 = f'{ string1} {string2}'>>> string3'Hello World'问题20.如何重复输出字符串

字符串可以使用乘法符号“*”或使用 for 循环来重复输出字符串。

>>> string1 = "Hello World!">>> string1*3'Hello World!Hello World!Hello World!'>>> for x in range(3): print("Hello World!!")Hello World!!Hello World!!Hello World!!问题21.以下代码输出结果是什么>>> string1 = "Hello">>> string2 = "World">>> (string1 + string2)*3

输出:

'HelloWorldHelloWorldHelloWorld'

问题22.如何将字符串解压缩为单个字符>>> string1 = "HELLO">>> a,b,c,d,e = string1>>> a'H'>>> b'E'>>> c'L'>>> d'L'>>> e'O'问题23.以下代码输出结果是什么>>> string1 = "HELLO">>> a,b = string1

此代码将输出一个错误,因为变量的数量与字符串中的字符数不匹配,要解压缩的值过多。

问题24.如何输出字符串中的第四个字符

可以使用索引值访问字符串的任何字符。第一项的索引为 0,第四个字符的索引为 3。

>>> string1 = "HELLO">>> string1[3]'L'问题25. 如何输出字符串最右端的字符

如果不知道字符串的长度,可以使用索引 -1 访问字符串的最右端字符。

>>> string1 = "Hello World">>> string1[-1]'d'问题26.如何将字符串“HELLP”修改为“HELLO”

字符串是不可变的,意味着一旦创建就无法修改。如果尝试修改字符串,将输出错误。

>>> string1 = "HELLP">>> string1 [-1] = "O"Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment

但是,可以使用 replace() 方法。

>>> string1 = "HELLP">>> string1.replace('P', 'O')'HELLO'>>> string1'HELLP'

replace() 方法将创建一个新字符串,string1 没有被修改。

问题27.索引值 -2 将访问字符串的哪个字符

索引 -2 将访问字符串的倒数第二个字符

>>> string1 = "HELLO">>> string1 [-1]'O'>>> string1[-2]'L'问题28.以下代码输出结果是什么>>> str1 = "\t\tHi\n">>> str1.strip()

输出:Hi

strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

问题29.解释字符串中的切片

Python 允许从字符串中提取字符,需要做的就是指定起点和终点。以下示例从索引 4 开始到索引 7 结束的字符串块。不包括索引 7 中的字符。

>>> string1 = "Hello World!">>> string1[4:7]'o W'

如果在上面的示例中省略了第一个索引,则默认值 0,切片从字符串的开头开始。

>>> string1 = "Hello World!">>> string1[:7]'Hello W'

同样,如果省略第二个索引,则字符串的起始位置取到字符串的末尾。

>>> string1 = "Hello World!">>> string1[4:]'o World!'

负索引也可以参与切片。

>>> string1 = "Hello World!">>> string1[-4:-1]'rld'

还可以使用三个参数:

>>> string1 = "Hello World!">>> string1[1:6:3]'eo'

第一个索引是起始位置,第二个索引是终值,第三个参数是步长。

问题30.以下代码输出结果是什么>>> string1 = "Hello World!">>> string1[-1:-6:-3]

输出:'!r'

问题31.split() 方法如何处理字符串

split() 通过指定分隔符对字符串进行切片。

>>> string1 = "Hello World!">>> string1.split()['Hello', 'World!']>>> time_string = "16:06:56">>> hr,min,sec = time_string.split(":")>>> hr'16'>>> min'06'>>> sec'56'

还可以指定要拆分字符串的次数。

>>> time_string = "16:06:56">>> time_string.split(":", 1)['16', '06:56']

如果从末尾开始检索分隔符,然后拆分字符串,可以使用 rsplit() 方法。

>>> time_string = "16:06:56">>> time_string.rsplit(":", 1)['16:06', '56']问题32.splif() 和 partltion() 方法有什么区别

partition() 方法用来根据指定的分隔符将字符串进行分割。返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

rpartltion() 方法从尾部开始分割字符串。

>>> time_string = "16:06:56">>> time_string.partition(":")('16', ':', '06:56')>>> time_string.rpartition(":")('16:06', ':', '56')问题33.Python 中重要的转义序列\ 反斜杠(\)' 单引号(')" 双引号(")\a ASCII响铃符(BEL)\b ASCII退格符(BS)\f ASCII进纸符(FF)\n ACCLL换行符(FL)\r ASCLL回车符(CR)\t ASCLL水平制表符(CR)\v ASCLL垂直制表符(VT)问题34.为什么使用转义序列

字母、数字或特殊字符等都可以轻松打印,但是,换行符、制表符、空格等不能像其他字符一样显示。为了嵌入这些字符,以反斜杠(\) 开头,后跟一个字符,如以下代码所示:

>>> print("Hello World!")Hello World!>>> print("Hello\nWorld!")HelloWorld!>>> print('\\')\>>> print("Hello\tWorld!")Hello World!问题35.什么是列表列表是有序且可更改的元素集合。可以通过将所有元素放在方括号内来创建。列表中的所有元素必须用逗号分隔。可以有任意数量的元素,并且元素不必是同一类型。列表是可变的,因此可以在创建后进行修改。>>> list1 = [ ] # 创建一个空列表>>> list2 = [123, "apple", 123.4]>>> list1[]>>> list2[123, 'apple', 123.4]问题36.如何访问以下列表的第 3 个元素

list1= ["h", "e", "1", "l", "o"]

list1 的第三个元素的索引为 2。因此,可以通过以下方式访问它:

>>> list1= ["h", "e", "1", "l", "o"]>>> list1[2]'1'问题37.以下代码输出结果是什么>>> list1= ["h", "e", "1", "l", "o"]>>> list1[-2]>>> list1[-5]>>> list1= ["h", "e", "1", "l", "o"]>>> list1[-2]'l'>>> list1[-5]'h'问题38.对于列表,以下引用结果是多少

list1= ["h", "e", "1", "l", "o"]

list1[5]list1[-5]list1[3:6]list1[:-3]list1[-3:]list1[:]list1[1:8:2]list1[::2]list1[4::3]list1= ["h", "e", "1", "l", "o"]print(list1[3])print(list1[-3])print(list1[2:4])print(list1[:-3])print(list1[-3:])print(list1[:])print(list1[1:4:2])print(list1[::2])print(list1[4::3])# 输出:'''l1['1', 'l']['h', 'e']['1', 'l', 'o']['h', 'e', '1', 'l', 'o']['e', 'l']['h', '1', 'o']['o']'''问题39.连接两个列表

list1= ["h", "e", "1", "l", "o"]

list2 = ['h','i']

>>> list1= ["h", "e", "1", "l", "o"]>>> list2 = ['h', 'i']>>> list3 = list1 + list2>>> list3['h', 'e', '1', 'l', 'o', 'h', 'i']问题40.如何更改或更新列表中元素的值

可以借助赋值运算符(=) 更改元素的值。

>>> list1= ["h", "e", "1", "l", "o"]>>> list1[2] '1'>>> list1[2] = "w" >>> list1[2] 'w'>>> list1['h', 'e', 'w', 'l', 'o']问题41.以下代码输出结果是什么>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1[1:4] = [9, 9, 9]>>> list1

输出:[1, 9, 9, 9, 5, 6]

问题42.列表的 append() 和 extend() 方法有什么区别

append() 方法将一个元素添加到列表中,extend() 方法允许将多个元素添加到列表中。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.append(9)>>> list1[1, 2, 3, 4, 5, 6, 9]>>> list1.extend([7, 8, 9])>>> list1[1, 2, 3, 4, 5, 6, 9, 7, 8, 9]问题43.以下代码输出结果是什么>>> list1= ["h", "e", "1", "l", "o"]>>> list1 * 2

输出:['h', 'e', '1', 'l', 'o', 'h', 'e', '1', 'l', 'o']

问题44.以下代码输出结果是什么>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1 += [9]>>> list1

输出:[1, 2, 3, 4, 5, 6, 9]

问题45.以下代码输出结果是什么>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1 -= [6]>>> list1

输出:

Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for -=: 'list' and 'list'

问题46.如何从列表中删除第二个元素

可以使用“del”关键字从列表中删除元素。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> del list1[1]>>> list1[1, 3, 4, 5, 6]问题47.如何删除列表中包含的第二个列表的第一个元素

list1 = [[1, 2, 3], [4, 5, 6]]

>>> list1 = [[1, 2, 3], [4, 5, 6]]>>> del list1[1][0]>>> list1[[1, 2, 3], [5, 6]]问题48.如何获取列表的长度

len() 函数用于查找列表的长度。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> len(list1)6问题49.如何在列表某个位置插入值>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.insert(3, 9)>>> list1[1, 2, 3, 9, 4, 5, 6]问题50.如何从列表删除指定值>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.remove(3)>>> list1[1, 2, 4, 5, 6]问题51.pop() 方法有什么作用

pop() 方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.pop(3)4>>> list1.pop()6>>> list1[1, 2, 3, 5]问题52.如何清除列表的内容

可以使用 clear() 方法清除列表的内容。类似于 del a[:]。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.clear()>>> list1[]问题53.如何获取列表元素的索引值

可以使用 index() 方法找到列表某个元素的索引值。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.index(3)2问题54.如何排序列表

可以使用 sort() 方法对列表进行排序。

>>> list1 = [1, 6, 3, 2, 5, 4]>>> list1.sort()>>> list1[1, 2, 3, 4, 5, 6]问题55.如何反转列表元素>>> list1 = [1, 2, 3, 4, 5, 6]>>> list1.reverse()>>> list1[6, 5, 4, 3, 2, 1]问题56.如何检查列表中是否存在元素

可以通过使用“in”关键字来检查列表中是否存在元素。

>>> list1 = [1, 2, 3, 4, 5, 6]>>> 6 in list1True>>> list1 = [[1, 2, 3], [4, 5, 6]]>>> 6 in list1False问题57.什么时候适合使用元组或列表

一般情况下,元组和列表可通用,但元组通常适合异构数据类型,而列表则适合同构数据类型。遍历元组比遍历列表更快。元组非常适合存储不需更改的值。

列表是动态的,长度大小可变,可以随意的增加、删减、改变元素,列表的存储空间略大于元组,且性能稍差。元组是静态的,长度大小固定,不可以对元素进行增加、删减或更改操作,元组相对于列表更加轻量级,性能更好。

问题58.如何创建元组

可以通过以下任一方式创建元组:

>>> tup1 = ()>>> tup2 = (4,)>>> tup3 = 1,2,3>>> tup4= (4,5,6)>>> tup1()>>> tup2(4,)>>> tup3(1, 2, 3)>>> tup4(4, 5, 6)>>> type(tup1)<class 'tuple'>>>> type(tup2)<class 'tuple'>>>> type(tup3)<class 'tuple'>>>> type(tup4)<class 'tuple'>问题59.如何输出元组的元素

访问元组的元素与访问列表的元素相同。

>>> tup1 = (1, 6, 3, 2, 5, 4)>>> tup1[3]2问题60.对元组赋值会发生什么tup1 = (1, 6, 3, 2, 5, 4)tup1[3] = 6

元组是不可变的数据结构,因此 tup1[3] =6 将输出错误。

>>> tup1 = (1, 6, 3, 2, 5, 4)>>> tup1[3] = 6Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment问题61.tup1 = (1, 6, 3, 2, 5, 4)

尝试使用 tup1[3.0] 访问元素会发生什么?

索引值应始终为整数值,而不是浮点数。这将生成类型错误。

>>> tup1 = (1, 6, 3, 2, 5, 4)>>> tup1[3.0]Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: tuple indices must be integers or slices, not float问题62.下列代码输出结果是什么>>> tup1 = (1,2,4), [8,4,6], (6,5,7), 9, 23, [98,56] >>> tup1[1][0]

答案:

8

问题63.下列代码输出结果是什么tup1 = (1, 6, 3, 2, 5, 4)print(tup1[-4])print(tup1[-7])>>> tup1 = (1, 6, 3, 2, 5, 4)>>> tup1[-4]3>>> tup1[-7]Traceback (most recent call last): File "<stdin>", line 1, in <module>IndexError: tuple index out of range问题64.下列代码输出结果是什么tup1 = (1,2,4), [8,4,6], (6,5,7), 9, 23, [98,56] tup2 = (1, 6, 3, 2, 5, 4)print(tup1[2:5])print(tup1[3:5:2])print(tup2[:-1])print(tup2[-1:])print(tup2[3:6:2])>>> %Run my5.py((6, 5, 7), 9, 23)(9,)(1, 6, 3, 2, 5)(4,)(2, 4)问题65.下列代码输出结果是什么tup1 = (1,2,4), [8,4,6], (6,5,7), 9, 23, [98,56] tup1[1][0] = 18tup1[1].append(2)print(tup1)# 输出:((1, 2, 4), [18, 4, 6, 2], (6, 5, 7), 9, 23, [98, 56])问题66.下列代码输出结果是什么tup1 = (1,2,4), [8,4,6], (6,5,7), 9, 23, [98,56] tup2 = (1, 6, 3, 2, 5, 4)print(tup1+tup2)# 输出:((1, 2, 4), [8, 4, 6], (6, 5, 7), 9, 23, [98, 56], 1, 6, 3, 2, 5, 4)问题67.如何删除元组

可以使用 del 命令删除元组。

>>> tup1 = (1, 6, 3, 2, 5, 4)>>> del tup1>>> tup1Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'tup1' is not defined问题68.下列代码输出结果是什么tup1 = (1,2,4), [8,4,6], (6,5,7), 9, 23, [98,56] tup2 = (1, 6, 3, 2, 5, 4)print(tup1.count(6))print(tup2.count(6))print(tup1.index(9))print(tup2.index(6))# 输出:0131问题69.如何测试一个元素是否存在于元组中

可以通过在关键字“in”使用来检查元组中的素:

>>> tup1 = (1,2,4), [8,4,6], (6,5,7), 9, 23, [98,56] >>> 6 in tup1False>>> member = [4,6,5,7]>>> member in tup1False>>> member = (6,5,7)>>> member in tup1True问题70.如何获取元组中的最大值和最小值

可以使用 max() 函数来获取最大值,使用 min() 函数来获取最小值。

>>> tup1 = (1, 6, 3, 2, 5, 4)>>> max(tup1)6>>> min(tup1)1问题71.如何对元组的所有元素进行排序>>> tup1 = (1, 6, 3, 2, 5, 4)>>> sorted(tup1)[1, 2, 3, 4, 5, 6]问题72.如何计算元组中所有元素的总和

可以通过使用 sum() 函数计算所有元素的总和。

>>> tup1 = (1, 6, 3, 2, 5, 4)>>> sum(tup1)21问题73.如何创建一个字典

可以通过以下任一方式创建字典对象:

>>> dict1 = {}>>> type(dict1)<class 'dict'>>>> dict2 = {'key1' :'value1', 'key2': 'value2', 'key3': 'value3'}>>> type(dict2)<class 'dict'>>>> dict3 = dict({'key1': 'value1', 'key2':' value2', 'key3': 'value3'})>>> type(dict3)<class 'dict'>>>> dict4 = dict([('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3 ' )])>>> type(dict4)<class 'dict'>问题74.如何访问字典的值

字典的"值"可以通过"键"来访问。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade' :7}>>> student_dict['name']'Jack'问题75.可以更改字典元素的值吗

可以更改字典元素的值,因为字典是可变的。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade' :7}>>> student_dict['Age'] = 13>>> student_dict{'name': 'Jack', 'Age': 13, 'Grade': 7}问题76.字典可以将列表作为键或值吗

字典可以将列表作为值,但不能作为键。

如果尝试将列表作为键,则将生成错误。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade' :[7, 8]}>>> student_dict = {'name':'Jack', 'Age':12, [7, 8]:'Grade'}Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: unhashable type: 'list'问题77.如何从字典中删除元素

可以通过以下任一方式从字典中删除元素:

pop() 方法可用于从字典中删除特定值。pop() 需要有效的键作为参数,否则您将收到键错误。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade':7}>>> student_dict.pop('Grade')7>>> student_dict{'name': 'Jack', 'Age': 12}

popitem() 方法随机返回并删除字典中的最后一对键和值。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade':7}>>> student_dict.popitem()('Grade', 7)>>> student_dict{'name': 'Jack', 'Age': 12}

可以使用“del”关键字从字典中删除特定值。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade':7}>>> del student_dict['Age']>>> student_dict{'name': 'Jack', 'Grade': 7}

clear() 函数可用于清除字典的内容。

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade':7}>>> student_dict.clear()>>> student_dict{}

del() 函数也可用于删除整个字典:

>>> student_dict = {'name':'Jack', 'Age':12, 'Grade':7}>>> del student_dict>>> student_dictTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'student_dict' is not defined问题78.字典的copy() 方法的用途是什么

copy() 方法创建字典的浅拷贝。

>>> student_dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> student_dict2 = student_dict1.copy()>>> student_dict2{'name': 'Jack', 'Age': 12, 'Grade': 7}>>> student_dict2.pop("Age")12>>> student_dict2{'name': 'Jack', 'Grade': 7}>>> student_dict1{'name': 'Jack', 'Age': 12, 'Grade': 7}问题79.fromkeys() 方法解释

字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

「fromkeys()方法语法:」

dict.fromkeys(seq[, value])

>>> student_dict2 = dict.fromkeys(student_dict1)>>> student_dict2{'name': None, 'Age': None, 'Grade': None}>>> student_dict2 = dict.fromkeys(student_dict1, 100)>>> student_dict2{'name': 100, 'Age': 100, 'Grade': 100}问题80.items() 函数的用途是什么

字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

>>> student_dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> student_dict1.items()dict_items([('name', 'Jack'), ('Age', 12), ('Grade', 7)])问题81.以下定义的字典是否有效

dict1 = {(1,2,3):['1','2','3']}

在字典中,键必须始终具有不可变值。由于元组是不可变的数据结构,因此以上字典对象有效。

>>> dict1 = {(1,2,3):['1','2','3']}>>> type(dict1)<class 'dict'>问题82.如何返回字典中键值对的总数

len() 函数可用于查找键值对的总数。

>>> student_dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> len(student_dict1)3问题83.字典 keys() 方法有什么用

字典(Dictionary) keys() 函数以列表返回一个字典所有的键。

>>> student_dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> student_dict1.keys()dict_keys(['name', 'Age', 'Grade'])问题84.以下代码输出结果是什么>>> student_dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> 'Age' in student_dict1

输出:True

“in”运算符可用于检查字典中是否存在特定键。

问题85.以下代码输出结果是什么>>> dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> dict2 = {(1,2,3):['1','2','3']}>>> dict3 = {'name':'Jack'}>>> dict4 = {'Age':12, 'Grade':7}# 以下代码执行后字典内容是什么>>> dict1.update(dict2)>>> dict3.update(dict3)>>> dict1.update(dict4)

update() 方法将字典对象作为参数。如果字典中已存在键,则更新值,如果键不存在,则将键值对添加到字典中。

>>> dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> dict2 = {(1,2,3):['1','2','3']}>>> dict3 = {'name':'Jack'}>>> dict4 = {'Age':12, 'Grade':7}>>> dict1.update(dict2)>>> dict1{'name': 'Jack', 'Age': 12, 'Grade': 7, (1, 2, 3): ['1', '2', '3']}>>> dict3.update(dict3)>>> dict3{'name': 'Jack'}>>> dict1.update(dict4)>>> dict1{'name': 'Jack', 'Age': 12, 'Grade': 7, (1, 2, 3): ['1', '2', '3']}问题86.以下代码输出结果是什么>>> dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> dict1.values()

字典(Dictionary) values() 方法以列表返回字典中的所有值。

>>> dict1 = {'name':'Jack', 'Age':12, 'Grade':7}>>> dict1.values()dict_values(['Jack', 12, 7])问题87.如何创建一个空集

内置函数set()用于创建空集。空的大括号不能用于创建空集,因为它将创建一个空的字典对象。

>>> set1 = set()>>> type(set1)<class 'set'>>>> set2 = {}>>> type(set2)<class 'dict'>问题88.如何将单个元素添加到集合中

可以借助 add() 方法添加单个元素。

>>> set1 = {1,2,3}>>> set1.add(4)>>> set1{1, 2, 3, 4}问题89.如何向一个集合添加多个元素

可以使用 update() 方法添加多个元素。

>>> set1 = {1,2,3}>>> set1.update([4,5,6])>>> set1{1, 2, 3, 4, 5, 6}问题90.如何从集合中删除元素

remove() 方法用于移除集合中的指定元素。

>>> set1 = {1,2,3}>>> set1.remove(3)>>> set1{1, 2}

discard() 方法用于移除指定的集合元素。

>>> set1 = {1,2,3}>>> set1.discard(3)>>> set1{1, 2}>>> set1.discard(4)>>> set1{1, 2}

remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。

问题91.集合中 pop() 方法的作用是什么

pop() 方法从集合中随机删除一个元素。

set1 = {"A","B","C"}set1.pop() print(set1)问题92.如何从集合中删除所有元素

可以使用 clear() 方法。

>>> set1 = {1,2,3,4,5,6}>>> set1.clear()>>> set1set()问题93.简述两个集合相关操作>>> set1 = {1,2,3,4,5,6}>>> set2 = {1,7,3,8,5,9}# 并集运算>>> set1 | set2{1, 2, 3, 4, 5, 6, 7, 8, 9}# 交集运算>>> set1 & set2{1, 3, 5}# 差集运算>>> set1 - set2{2, 4, 6}# 补集运算>>> set1 ^ set2{2, 4, 6, 7, 8, 9}问题94.Python 中有哪些可用的内置数据类型

Python中有以下几种内置数据类型:

数字(Number)(整数、浮点数和复数整数、浮点数和复数)字符串(String)列表(List)元组(Tuple)集合(Set)字典(Dictionary)问题95.元组和列表有什么区别列表是动态数组,可变且可以重设长度(改变其内部元素的个数)。元组是静态数组,不可变,且其内部数据一旦创建便无法改变。元组缓存于 Python 运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。问题96.如何定义列表lst1 = [1, 2, "python", 4] lst2 = ["I", "Love", "Python"]问题97.如何按索引访问列表lst1 = [1, 2, "python", 4] index = 0while index < len(lst1): print(lst1[index]) index +=1 for i in range(len(lst1)): print(lst1[i])问题98.能不能使用负索引访问列表时

Python 中允许使用负索引,它从列表尾部开始访问列表。索引 -1 访问列表中的最后一项,-2 访问倒数第二项,依此类推。

问题99.一个列表可以包含其他列表吗

可以,列表可以包含任何类型的对象。

>>> lst1 = [1, 2, "python", 4] >>> lst2 = [1, 2, [4, 5, 6]] >>> lst3 = [1, 2, (4, 5, 6)] >>> lst4 = [1, 2, {4, 5, 6}] >>> lst4 = [1, 2, {'A':1, 'B':2, 'C':3}] >>> type(lst1) <class 'list'>>>> type(lst2) <class 'list'>>>> type(lst3) <class 'list'>>>> type(lst4) <class 'list'>问题100.如何访问子列表

访问形式:

listname[listindex][sublistindex]。

>>> lst2 = [1, 2, [4, 5, 6]] >>> lst2[2][0] 4问题101.举例说明列表如何切片>>> lst1 = [1, 2, 3, 4, 5, 6] >>> lst1[0:5] [1, 2, 3, 4, 5]>>> lst1[0:5:2] [1, 3, 5]>>> lst1[-5:-1] [2, 3, 4, 5]>>> lst1[-5:-1:2] [2, 4]问题102.如何将元素添加到列表中

使用 append() 方法,在列表末尾添加元素。

>>> lst1 = [1, 2, 3, 4, 5, 6] >>> lst1.append(7)>>> lst1[1, 2, 3, 4, 5, 6, 7]问题103.如何将元素添加到列表特定位置

使用 insert() 方法,在列表某个索引处插入元素。

>>> lst1 = [1, 2, 3, 4, 5, 6] >>> lst1.insert(3, 9)>>> lst1[1, 2, 3, 9, 4, 5, 6]问题104.如何从列表中删除元素

使用列表 pop() 方法,移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

>>> lst1 = [1, 2, 3, 4, 5, 6] >>> lst1.pop(3)4>>> lst1[1, 2, 3, 5, 6]问题105.如何将一个列表与另一个列表连接起来

使用 extend(),在列表末尾一次性追加另一个序列中的多个值。

>>> lst1 = [1, 2, 3] >>> lst2 = [4, 5, 6] >>> lst1.extend(lst2)>>> lst1[1, 2, 3, 4, 5, 6]问题106.如何按字母顺序排列字符串列表

使用内置的排序方法 sort()。

>>> lst1 = ["B", "C", "A"] >>> lst1.sort()>>> lst1['A', 'B', 'C']问题107.元组如何转换为列表,列表如何转换为元组

使用内置函数 tuple() 和 list()。

>>> lst1 = [1, 2, 3] >>> tup1 = tuple(lst1)>>> tup1(1, 2, 3)>>> tup1 = (1, 2, 3)>>> lst1 = list(tup1)>>> lst1[1, 2, 3]

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

0 阅读:0

云课堂学Python

简介:感谢大家的关注