目录

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'>