1.
"""
补充缺失的代码
def print_directory_contents(sPath):
这个函数接收文件夹的名称作为输入参数
返回该文件夹中文件的路径
以及其包含文件夹中文件的路径
"""
import os
def print_directory_contents(sPath):
for child_path in os.listdir(sPath):#遍历sPath下的所有文件
child_path = os.path.join(sPath, child_path)#改成完整路径
if os.path.isdir(child_path):#判断是否是文件夹
print_directory_contents(child_path)#递归调用
else:
print(child_path)#不是 打印文件名
2.
""""
输入日期, 判断这一天是这一年的第几天?
"""
import datetime
def dayofyear():
year = int(input("year:"))
month = int(input("month:"))
day = int(input("day:"))
date1 = datetime.date(year=year, month=month, day=day) # 今天的日期
date2 = datetime.date(year=year, month=1, day=1) # 今年的第一天日期
return (date1 - date2).days + 1 # 日期相减
3.
""""
打乱一个排好序的list对象alist?
"""
import random
alist = [1, 2, 3, 4, 5, 6, 7]
random.shuffle(alist)
print(alist)
4.
"""
现有字典 d= {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?
"""
d = {'a': 24, 'g': 52, 'i': 12, 'k': 33}
new_d = sorted(d.items(), key=lambda x: x[1])
print(new_d)
"""
这里的d.items()实际上是将d转换为可迭代对象,迭代对象的元素为 (‘a’,24)、(‘g’,252)、(‘i’,12)、
(‘k’,33),items()方法将字典的元素 转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作
为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。
lambda x:y中x表示输出参数,y表示lambda 函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,
而原字典中的名值对被转换为了list中的元组。"""
5.
"""
给一个可迭代对象 例如alist = [("a", 1), ("b", 2), ("c", 3)]
生成字典
"""
alist = [("a", 1), ("b", 2), ("c", 3)]
dict1 = {k: v for (k, v) in alist}
print(dict1)
6.
"""
请反转字符串 "aStr"?
"""
str1 = "aStr"
str1 = str1[::-1]
print(str1)
7.
"""
将字符串 "k:1 |k1:2|k2:3|k3:4",处理成字典 {k:1,k1:2,...}
"""
str1 = "k:1 |k1:2|k2:3|k3:4"
dict = {}
for item in str1.split("|"):
item = item.strip()
k, v = item.split(":")
dict[k] = v
print(dict)
8.
"""
请按alist中元素的age由大到小排序
alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]
"""
此题和第四题类似
alist = [{'name': 'a', 'age': 20}, {'name': 'b', 'age': 30}, {'name': 'c', 'age': 25}]
new = sorted(alist, key=lambda x: x["age"], reverse=True) # reverse 逆序排列
print(new)
9.
下面代码的输出结果将是什么?
list = ['a','b','c','d','e']
print(list[10:])
代码将输出[],不会产生IndexError错误,就像所期望的那样,尝试用超出成员的个数的index来获取某个列表的成员。例如,尝试获取list[10]和之后的成员,会导致IndexError。然而,尝试获取列表的切片,开始的index超过了成员个数不会产生IndexError,而是仅仅返回一个空列表。这成为特别让人恶心的疑难杂症,因为运行的时候没有错误产生,导致Bug很难被追踪到。
10.
写一个列表生成式,产生一个公差为11的等差数列
两种思路:
第一种
alist = [i for i in range(0, 100, 11)]
第二种:
alist = [i*11 for i in range(0, 10)]
11.
"""
给定两个列表,怎么找出他们相同的元素和不同的元素?
a = [1,2,3]
b = [2,3,5]
"""
#先把列表改成集合,在取交集 差集
a = [1, 2, 3]
b = [2, 3, 4]
c = set(a) & set(b)
d = set(a) ^ set(b)
print(c)
print(d)
12.
"""
请写出一段python代码实现删除list里面的重复元素?
l1 = ['b','c','d','c','a','a']
"""
l1 = ['b', 'c', 'd', 'c', 'a', 'a']
print(list(set(l1)))
13.
python中内置的数据结构有几种?
a. 整型 int、 长整型 long、浮点型 float、 复数 complex
b. 字符串 str、 列表 list、 元祖 tuple
c. 字典 dict 、 集合 set
d. Python3 中没有 long,只有无限精度的 int
14.
python新式类和经典类的区别?
a. 在python里凡是继承了object的类,都是新式类
b. Python3里只有新式类
c. Python2里面继承objec