Python函数式编程面试题二

128 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第23天,点击查看活动详情

1、给定一个列表,随机打乱这个列表

使用shuffle()方法可以随机打乱一个列表

from random import shuffle
list1 = [1,2,3,4,5,6,7,8,9]
shuffle(list1)
print(list1)

此时运行结果为[1, 8, 6, 7, 9, 2, 4, 5, 3],把列表list1重新随机打乱了,更新的是原来是列表list1

2、python中如何删除一个文件

import os
os.remove("/Users/admin/Desktop/test111/ceshi.txt")

3、int("1.4"),int(1.4)输出结果?

a = int("1.4")
print(a)

此时运行会报错,ValueError: invalid literal for int() with base 10: '1.4',字符串不能转化成数字类型。

b = int(1.4)
print(b)

此时运行结果为1,把小数1.4转化成整数,只取整数部分。

4、a = ” hehheh ”,去除首尾空格

a = " heheh  "
b= a.strip()
print(b)

此时运行结果为“hehheh”,没有收尾空格

5、 统计字符串x中出现字母a的次数(x = “abdsdgdsadiadanka”)

统计字符串中某字符出现次数

x = "abdsdgdsadiadanka"
num = x.count("a")
print(num)

6、x = “abdcXNdFSffd”字符串转换大小写

将所有字母都转化成大写

x = "abdcXNdFSffd"
a =x.upper()
print(a)

此时运行结果为“ABDCXNDFSFFD”,将所有的字母都转化成大写字母

将所有的字母都转化成小写

x = "abdcXNdFSffd"
b =x.lower()
print(b)

此时运行结果为“abdcxndfsffd”,将所有的字母都转化成小写字母。

将首字母转化成大写,其他字母小写

x = "abdcXNdFSffd"
c = x.capitalize()
print(c)

此时运行结果为“Abdcxndfsffd”,将字符串的第一个字母转化成大写,其他字母小写。

7、python中r、r+、rb、rb+文件打开模式区别

r : 只读模式

with open("test.txt","r") as f:
    for line in f.readlines():
        print(line)

r+ : 读写,可以写,内容在文件最开头

with open("test.txt","r+") as f:
    f.write("r+..........测试测试11111111")

w : 普通的写模式,如文件不存在,则建立

with open("test111.txt","w") as f:
    f.write("添加一行测试数据")

w+ : 如果文件不存在,则建立

with open("test.txt","w+") as f:
    f.write("w+---------测试添加")

rb : read binary 读取一些非文本形式,二进制形式文件用到

wb : write binary 写一些PDF,二进制形式的文件需要

8、python字典和json字符串相互转化方法

dump和dumps(从Python生成JSON),load和loads(解析JSON成Python的数据类型)dump和dumps的唯一区别是dump会生成一个类文件对象,dumps会生成字符串,同理load和loads分别解析类文件对象和字符串格式的JSON

字典转化为json写入文件:

import json
d = {"a":1,"b":2,"c":3}
json.dump(d,open("test.txt","w"))

此时运行后,打开文件test.txt文件,会看到{"a": 1, "b": 2, "c": 3}

字典抓华为json字符串

import json
d = {"a":1,"b":2,"c":3}
print(json.dumps(d))
print(type(json.dumps(d)))

此时运行结果为{"a": 1, "b": 2, "c": 3} <class 'str'>

读取json文件转化为字典

import json
d = json.load(open("test.txt","r"))
print(d)
print(type(d))

此时运行结果为{'a': 1, 'b': 2, 'c': 3} <class 'dict'>

json字符串转化为字典:

b = '{"a": 1, "b": 2, "c": 3}'
c = json.loads(b)
print(c)
print(type(c))

此时运行结果为{'a': 1, 'b': 2, 'c': 3} <class 'dict'>