目录
-
1、输入日期,判断这一天是这一年的第几天?
-
2、打乱一个排好序的list对象alist?
-
3、现有字典d = {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?
-
4、反转字符串 "aStr"
-
5、将字符串"k:1|k1:2|k2:3|k3:4",处理成字典 {k:1,k1:2,...}
-
6、请按alist中元素的age由大到小排序
-
7、下面代码的输出结果将是什么?
-
8、写一个列表生成式,产生一个公差为11的等差数列。
-
9、给定两个列表,怎么找出他们相同的元素和不同的元素?
-
10、请写出一段Python代码实现删除list里面的重复元素?
-
11、给定两个list A、B,请用找出A、B中相同与不同的元素
-
12、Python中内置的数据结构有几种?
-
13、反转一个整数,例如 -123 --> -321
-
14、一行代码实现1-100之和
-
15、Python遍历列表时删除元素
-
16、可变类型和不可变类型
-
17、is和==有什么区别?
-
18、求出列表所有奇数并构造新列表
-
19、用一行Python代码写出1+2+3+10248
-
20、Python中变量的作用域?(变量查找顺序)
-
21、Python代码实现删除一个list里面的重复元素
-
22、统计一段字符串中字符出现的次数
1、输入日期,判断这一天是这一年的第几天?
import datetime
def dayofyear():
year = input("请输入年份: ")
month = input("请输入月份: ")
day = input("请输入天: ")
date1 = datetime.date(year=int(year),month=int(month),day=int(day))
date2 = datetime.date(year=int(year),month=1,day=1)
return (date1-date2).days+1
运行结果:
2、打乱一个排好序的list对象alist?
import random
alist = [1,2,3,4,5]
random.shuffle(alist)
print(alist)
运行结果:
3、现有字典d = {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?
d = {'a':24,'g':52,'i':12,'k':33}
c = sorted(d.items(),key=lambda x:x[1])
print(c)
运行结果:
x[0]代表用key进行排序;x[1]代表用value进行排序。
4、反转字符串 "aStr"
print("aStr"[::-1])
运行结果:
5、将字符串"k:1|k1:2|k2:3|k3:4",处理成字典 {k:1,k1:2,...}
str1 = "k:1|k1:2|k2:3|k3:4"
def str2dict(str1):
dict1 = {}
for iterms in str1.split('|'):
key,value = iterms.split(':')
dict1[key] = value
return dict1
#字典推导式
d = {k:int(v) for t in str1.split("|") for k, v in (t.split(":"), )}
print(d)
运行结果:
6、请按alist中元素的age由大到小排序
alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]
def sort_by_age():
return sorted(alist,key=lambda x:x['age'],reverse=True)
print(sort_by_age())
运行结果:
7、下面代码的输出结果将是什么?
list = ['a','b','c','d','e']
print(list[10:])
运行结果:
输出[],不会产生IndexError错误,就像所期望的那样,尝试用超出成员的个数的index来获取某个列表的成员。例如,获取list[10]和之后的成员,会导致IndexError。然而,尝试获取列表的切片,开始的index超过了成员个数不会产生IndexError,而是仅仅返回一个空列表。
例如:list[10],运行报错。
在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有大佬为你答疑解惑。
8、写一个列表生成式,产生一个公差为11的等差数列。
print([x*11 for x in range(10)])
运行结果:
9、给定两个列表,怎么找出他们相同的元素和不同的元素?
list1 = [1,2,3]
list2 = [3,4,5]
set1 = set(list1)
set2 = set(list2)
print("相同的元素:" + str(set1 & set2))
print("不同的元素:" + str(set1 ^ set2))
运行结果:
10、请写出一段Python代码实现删除list里面的重复元素?
(1)方式一:
l1 = ['b','c','d','c','a','a']
l2 = list(set(l1))
print(l2)
运行结果:
(2)方式二:
l1 = ['b','c','d','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print(l2)
运行结果:
(3)方式三:
l1 = ['b','c','d','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print(l2)
运行结果:
(4)方式四:
l1 = ['b','c','d','c','a','a']
l2 = []
for i in l1:
if not i in l2:
l2.append(i)
print(l2)
运行结果:
11、给定两个list A、B,请用找出A、B中相同与不同的元素
A、B中相同元素: print(set(A)&set(B))
A、B中不同元素: print(set(A)^set(B))
12、Python中内置的数据结构有几种?
(1)整型 int、长整型 long、浮点型 float、复数 complex b
(2)字符串 str、列表 list、元祖 tuple、字典 dict、集合 set
(3)Python3中没有long,只有无限精度的int
13、反转一个整数,例如 -123 --> -321
class Solution(object):
def reverse(self,x):
if -10<x<10:
return x
str_x = str(x)
if str_x[0] !="-":
str_x = str_x[::-1]
x = int(str_x)
else:
str_x = str_x[1:][::-1]
x = int(str_x)
x = -x
return x if -2147483648<x<2147483647 else 0
if __name__ == '__main__':
my_int = -123456789
s = Solution()
reverse_int = s.reverse(my_int)
print(reverse_int)
运行结果:
14、一行代码实现1-100之和
print(sum(range(0,101)))
运行结果:
15、Python遍历列表时删除元素
(1)正序删除:
a = [1,2,3,4,5,6,7,8]
print(id(a))
print(id(a[:]))
for i in a[:]:
if i > 5:
pass
else:
a.remove(i)
print(a)
print('-----------')
print(id(a))
运行结果:
(2)倒序删除:
a = [1,2,3,4,5,6,7,8]
print(id(a))
for i in range(len(a)-1,-1,-1):
if a[i] > 5:
pass
else:
a.remove(a[i])
print(a)
print('-----------')
print(a)
运行结果:
16、可变类型和不可变类型
(1)可变类型有list、dict;不可变类型有string、number、tuple。
(2)当进行修改操作时,可变类型传递的是内存中的地址,也就是说,直接修改内存中的值,并没有开辟新的内存。
(3)不可变类型被改变时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。
17、is和==有什么区别?
is:比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象。是否指向同一个内存地址。
==:比较的两个对象的内容/值是否相等,默认会调用对象的eq()方法。
18、求出列表所有奇数并构造新列表
a = [1,2,3,4,5,6,7,8,9,10]
res = [ i for i in a if i%2==1]
print(res)
运行结果:
19、用一行Python代码写出1+2+3+10248
from functools import reduce
# 1、使用sum内置求和函数
num1 = sum([1,2,3,10248])
print(num1)
# 2、reduce函数
num2 = reduce(lambda x,y:x+y,[1,2,3,10248])
print(num2)
运行结果:
20、Python中变量的作用域?(变量查找顺序)
函数作用域的LEGB顺序
L:local 函数内部作用域
E:enclosing 函数内部与内嵌函数之间
G:global 全局作用域
B:build-in 内置作用
Python在函数里面的查找分为4种,称之为LEGB,也正是按照这个顺序来查找的。
21、Python代码实现删除一个list里面的重复元素
def distFunc1(a):
"""使用集合去重"""
a = list(set(a))
print(a)
def distFunc2(a):
"""将一个列表的数据取出放到另一个列表中,中间做判断"""
list = []
for i in a:
if i not in list:
list.append(i)
# 如果需要排序的话用sort
list.sort()
print(list)
def distFunc3(a):
"""使用字典"""
b = {}
b = b.fromkeys(a)
c = list(b.keys())
print(c)
if __name__ == "__main__":
a = [1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
distFunc1(a)
distFunc2(a)
distFunc3(a)
运行结果:
22、统计一段字符串中字符出现的次数
def count_str(str_data):
dict_str = {}
for i in str_data:
dict_str[i] = dict_str.get(i, 0) + 1
return dict_str
dict_str = count_str("AAABBCCAC")
str_count_data = ""
for k, v in dict_str.items():
str_count_data += k + "=" + str(v) + ","
print(str_count_data)
运行结果:
在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有大佬为你答疑解惑。