目录
21. 将"hello world"转换为首字母大写"Hello World"
22. 如何检测字符串中只含有数字?
23. 将字符串"ilovechina"进行反转
24. Python 中的字符串格式化方式你知道哪些?
25. 有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉
26. 获取字符串”123456“最后的两个字符。
27. 怎样将字符串s转换为小写?
28. 单引号、双引号、三引号的区别?
29. a = "你好 中国 ",去除多余空格只留一个空格。
30. 已知 AList = [1,2,3,1,2],对 AList 列表元素去重,写出具体过程
31. 如何实现 "1,2,3" 变成 ["1","2","3"]
32. 给定两个 list,A 和 B,找出相同元素和不同元素
33. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
34. 合并列表[1,5,7,9]和[2,2,6,8]
35. 如何打乱一个列表的元素?
36. 字典操作中 del 和 pop 有什么区别
37.按照字典的内的年龄排序
38. 请合并下面两个字典 a = {"A":1,"B":2},b = {"C":3,"D":4}
39. 如何使用生成式的方式生成一个字典,写一段功能代码
40. 如何把元组("a","b")和元组(1,2),变为字典{"a":1,"b":2}
41. Python 常用的数据结构的类型及其特性?
42. 如何将元组("A","B")和元组(1,2),合并成字典{"A":1,"B":2}
43. Python 里面如何实现 tuple 和 list 的转换?
44. 我们知道对于列表可以使用切片操作进行部分元素的选择,那么如何对生成器类型的对象实现相同的功能呢?
45. 请将[i for i in range(3)]改成生成器
46. a="hello"和 b="你好"编码成 bytes 类型
47. 下面的代码输出结果是什么?
48. 下面的代码输出的结果是什么?
49. li = [
****************基本语法****************
21. 将"hello world"转换为首字母大写"Hello World"
name = “hell world”
name_1 = name.capitable()
22. 如何检测字符串中只含有数字?
print(“1234”.isnumeric())
23. 将字符串"ilovechina"进行反转
(1)使用字符串切片 result = s[::-1]
(2)result = ”ilovechina”.reverse()
(3)使用出栈,pop
(4)for循环或者递归函数
24. Python 中的字符串格式化方式你知道哪些?
(1)用%实现,%s字符串, %d整数, %f浮点数,平时print常用
(2) 格式化字符串的函数 str.format()
格式化字符串的函数 str.format(),它增强了字符串格式化的功能。str中包含占位符,text中是要填充的内容
基本语法是通过 {} 和 : 来代替以前的 % 。
优点:format 函数可以接受不限个参数,位置可以不按顺序。
使用'{}'占位符
使用'{0}','{1}'形式的占位符
使用'{name}'形式的占位符
example:使用'{name} # 设置指定位置
info= '亲爱的{user}你好!你{month}月的花费是{huafei},余额是{balance}'
info = info.format(user='xiaoming',month=10,huafei=50.0,balance=29.29)
print info
example:使用'{0}','{1}'形式的占位符:# 设置指定位置
info1= '亲爱的{0}你好!你{1}月的花费是{2},余额是{3}'
info1 = info1.format('xiaoming',2,50.0,29.29)
print info1
example:使用{}占位符:# 不设置指定位置,按默认顺序
a = "{} {}".format("hello", "world")
print a
25. 有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉
(1) strip():把头和尾的空格去掉,lstrip():把左边的空格去掉,rstrip():把右边的空格去掉
(2)replace(’c1’,’c2’):把字符串中的c1替换成c2,用(’ ’,’’)去掉空格
(3)split():对字符串用空格切片
26. 获取字符串”123456“最后的两个字符。
result = “123456”[-2:]
27. 怎样将字符串s转换为小写?
capitalize() 首字母大写,其余全部小写
upper() 全转换成大写
lower() 全转换成小写
将字符串转成小写操作:result = s.lower()
28. 单引号、双引号、三引号的区别?
单引号中需要转义,双引号,三引号不需要转义;
三引号可以包含双引号、单引号,双引号可以包含单引号;
三引号可以多行写,单引号双引号需要换行符\
29. a = "你好 中国 ",去除多余空格只留一个空格。
result = ‘ ’.join(a.split())
30. 已知 AList = [1,2,3,1,2],对 AList 列表元素去重,写出具体过程
(1)for循环
result = []
for i in range(len(AList)):
if AList[i] not in result:
result.append(AList[i])
print(result)
(2)用set和sort方法
new_s = list(set(AList))
new_s.sort(key= AList.index)
(3) fromkeys生成一个字典,keys返回字典的键值,这里利用了键值不能重复的性质
result = a.fromkeys(s).keys()
(4)reduce方法
result = reduce(lambda x,y:x if y in x else x + [y], [[],] + s)
31. 如何实现 "1,2,3" 变成 ["1","2","3"]
result = list(“1,2,3”.split(‘,’))
32. 给定两个 list,A 和 B,找出相同元素和不同元素
(1)for循环直接实现
same =[]
usame= []
for i in a:
if i in b:
same.append(i)
else:
usame.append(i)
for i in b:
if I not in a:
usame.append(i)
(2)set实现: set() 函数创建一个无序不重复元素集,称为集合,是数据类型的一种,有集合的性质,可进行关系测试,删除重复数据,还可以计算交集(&)、差集(-)、并集(|)等
same = set(a)&set(b)
usame = set(a)^set(b)
33. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
import numpy as np
result = np.arange([[1,2],[3,4],[5,6]]).flatten()
34. 合并列表[1,5,7,9]和[2,2,6,8]
a = [1,5,7,9]
b = [2,2,6,8]
(1)result = a + b
(2)a+=b
(3)a.extend(b)
这里不能用append,list.append(object) 向列表中添加一个对象object,list.extend(sequence) 把一个序列seq的内容添加到列表中,
a.append(b)后是这样的[1,5,7,9,[2,2,6,8]]
35. 如何打乱一个列表的元素?
from ramdom import shuffle
shuffle(mylist)
****************字典操作****************
36. 字典操作中 del 和 pop 有什么区别
remove是根据元素删除;
del是根据索引删除;也可以根据索引删除指定范围的值,del a[1,4],del a表示删除整个列表;
pop()会弹出列表末尾的元素,也可以通过索引的方式删除列表指定的元素;
37.按照字典的内的年龄排序
dict01 = [{'name':'alice', 'age':38},
{'name':'bob', 'age':18},
{'name':'Carl', 'age':28},]
首先明确dict01不是dict而是list数据类型;
(1)
import operator
result = sorted(dict01, key=operator.itemgetter(’age’), reverse = ‘False’)
(2)
result = sorted(dict01, key=lambda dict01:dict01['age'])
注:因为用word编辑的原因,本文的所有的单双引号应该是不能直接移植运行程序,请注意修改再运行
38. 请合并下面两个字典 a = {"A":1,"B":2},b = {"C":3,"D":4}
(1)dict(a, **b)或者dict(**a, **b)
(2)result = a.copy()
z.update(y)
39. 如何使用生成式的方式生成一个字典,写一段功能代码
创建字典还是改写字典?
创建字典:
dict0 = {}
dict1 = {‘data’:1, ’weight’:2, ’bias’:3}
dict2 = dict(data = 1,weight = 2, bias = 3)
dict3 = dict(zip([‘data’,’weight’,’bias’],[1,2,3]))
按照要求修改字典(例如key修改成大写,value不变):
dict4 = ({k.upper():v for k, v in dict2.items()})
40. 如何把元组("a","b")和元组(1,2),变为字典{"a":1,"b":2}
见39,dict3方法
****************综合特性****************
41. Python 常用的数据结构的类型及其特性?
与19略重复
python中常见的数据结构有元组(tuple)、列表(list)、字典(dic)、集合(set)
1、元组用小括号表示()
2、列表用中括号表示 [ ]
3、字典用大括号表示 { }
4、集合用关键字set()来表示
5、字符串用“ ”或者‘ ’表示
6、数值型数据直接用本身表示即可,不需要添加任何修饰
相互之间的区别和特点为元组和字典中的键、字符串、整型和浮点型为不可变类型,也就是说不能对其进行修改;而列表和集合为可变类型,可以直接对其进行修改。同时因为列表和集合为可变类型,因此不能作为字典中的键。
42. 如何将元组("A","B")和元组(1,2),合并成字典{"A":1,"B":2}
见40
43. Python 里面如何实现 tuple 和 list 的转换?
result = list(tuple)
result = tuple(list)
44. 我们知道对于列表可以使用切片操作进行部分元素的选择,那么如何对生成器类型的对象实现相同的功能呢?
生成器是特殊的迭代器,使用了yield的迭代器就叫生成器
(1)
import itertools
def count(n):
while True:
yield n
n+=1
result = count(0)
for r in itertools.islice(result,5,10):
print(r)
(2)
import itertools
generator_1 = (x*2 for x in range(10))
for i in itertools.islice(generator_1,5,8):
print(i)
45. 请将[i for i in range(3)]改成生成器
result = (i for i in range(3))
46. a="hello"和 b="你好"编码成 bytes 类型
result_01 = a.encode(‘utf-8’)
result_02 = b.encode(‘uft-8’)
result_02的显示是一串字符,如果想再显示成‘你好’可以result_02.encode(‘utf-8’)
47. 下面的代码输出结果是什么?
a = (1,2,3,[4,5,6,7],8)
a[2] = 2
结果:TypeError: 'tuple' object does not support item assignment
48. 下面的代码输出的结果是什么?
a = (1,2,3,[4,5,6,7],8)
a[5] = 2
结果:TypeError: 'tuple' object does not support item assignment
49. li = [lambda :x for x in range(10)] li中元素是什么类型?
print(type(li))
print(type(li(0)))
<class 'list'>
<class 'function'>