10 个编程问题,每个 Python 程序员都应该知道
编程语言每天都在发展,给程序员带来了便利。其中之一是 Python,最近的一项开发人员调查显示,Python 是继 JavaScript 之后第二受欢迎的编程语言。这是因为如果程序员选择 Python 作为他们喜欢的语言,他们可以获得很好的职业选择。此外,Python 语法比 C 或 C++ 更容易记住。在过去的几个月里,对 Python 开发人员的需求日益增加。
如果你是一名 Python 程序员或试图掌握它,这个博客特别适合你。在这里,我将列出一些可以帮助程序员轻松解决日常问题的要点。
现在让我们看看程序员可能面临的问题:
1.找到频率最高的元素
在这里,我们将有一个包含随机元素的列表。一些元素会重复,我们需要找到频率最高的元素。
新列表 **=** [a,b,a,d,e,g,g,a,c,f,k,t,u,z,x,a]
**打印** ("最频繁的元素:", max(set(new_list),key= new_list.count))
这里的输出将是元素“a”,因为它重复了 4 次。
2. 从字符串列表中查找子字符串。
在下面的代码中,我们有一个字符串列表,我们将使用它们拥有的一个小关键字来搜索它们。就像在方法 1 中搜索 Meta 时,我们在输出中找到了 Mark Zuckerberg,因为它们都是一个字符串的一部分。 Meta 只是一个子字符串。在方法 2 中也是如此,但风格不同。
数据 **=** ["Python, 编程语言","Meta, Mark Zuckerberg","Sebastian Vettel, F1 赛车手","Alexa, Amazon"]# 方法 1name **=** “元” **为了** 数据 **在** 数据: **如果** data.find(名称)> **=** 0: **打印** (data)# 方法 2name **=** “维特尔” **为了** 数据 **在** 数据: **如果** 姓名 **在** 数据:打印(数据)
3. 合并字典
下面是两个字典,其中包含某些元素。在这里,我们将合并它们并向我们展示一个输出。第一种方法是字典在显示合并输出的结果中解包。在第二种方法中,我们复制结果中的第一个字典,然后用第二个字典更新它。在第三种方法中,我们使用了一种直接的方法,称为字典理解。
dict_no1 **=** {'h':1,'e':2,'l':3,'l':4,'o':5}dict_no2 **=** {'s' : 6, 'i' : 7, 'r' : 8}# 方法1结果 **=** { ****** dict_no1, ****** dict_no2}print(result)#方法2结果 **=** dict_no1.copy()result.update(dict_no2) **打印** (结果)#方法3结果 **=** {核心价值 **为了** d **在** (dict_no1, dict_no2) **为了** 核心价值 **在** d.items()}打印(结果)
4.文件处理
当用户必须读取较大的逗号分隔值时,在 Python 中使用文件处理。下面的代码有一个名为“abc”的文件,我们在其中执行各种功能,例如打开文件、读取文件、读取单行、关闭文件和写入文件。
# 打开一个文件
f = open('abc.txt')# 从文件中读取
f = open('abc.txt', 'r')# 读取整个文件
print(f.read())# 读取单行
print(f.readline())# 写入文件
f = open('abc.txt', 'w')
f.write('写入文件\n')#关闭文件
f.close()
5. 对字典列表进行排序
在下面的代码中,我们有一个包含列表的字典,其中包含有关某些人的信息。我们将根据他们的“id”对列表进行排序,您可以根据需要进行任何操作。我们在这里使用 sort() 或 sorted() 功能来执行任务。
人= [
{
“名称”:“安德鲁”,
“年龄”:25,
“身份证”:72365
},
{
'名称' : '账单',
“年龄”:34,
“身份证”:55443
},
{
“名称”:“卡西”,
“年龄”:22,
'id':63257
}
]#方法一
person.sort(key=lambda item: item.get("id"))
print(person)# 方法二
person = sorted(person, key=lambda item: item.get("id"))
打印(人)
6.计算执行时间
下面的代码将计算执行时间。我们使用了时间库。我们测量代码的运行时间,该代码将打印所有偶数直到 10,然后记录执行时间。
import timestart = time.time()# 打印所有偶数直到 10
对于范围内的 i (10):
如果我 % 2 == 0:
print(i, end = " ")end = time.time()
time_taken = 结束 — 开始
print(“\n所用时间: “, time_taken)
7. 错误处理
在错误处理中,我们使用 try-catch 定理,如果其中一种可能性不匹配,则会突然停止。在下面的代码中,我们将划分两个数字,因此如果第二个数字为零,则此代码将引发错误,而不是执行它并提醒用户。
no1, no2 = 4,0
尝试:
打印(no1 / no2)
除了 ZeroDivisionError:
print("除零是不可能的!")
最后:
print("终于阻塞了。")
8. 字符串格式化
在字符串格式化中,我们修改字符串,有几种方法可以做到这一点。在下面的代码中提到了其中的一些。在第一种方法中,使用了基本连接,它只是将字符串加在一起。在第二种方法中,我们使用 f 字符串,其中变量名写在大括号中并在运行时更改。在第三种方法中,我们使用 format() 函数,它将要插入到字符串中的字符串或变量作为参数,并将其放置在看到大括号的任何位置。在最后一种方法中,我们使用“%s”表示它是一个字符串。
语言 = "C++"# 方法 1
print(language + " 是我最喜欢的编程语言。")# 方法二
print(f"I code in {language}")# 方法 3
print("我喜欢 {} 编程语言。".format(language))# 方法四
print("%s 很容易学。" % (language))
9. 使用 If-else 进行列表理解。
列表理解对用户非常有利,因为它有助于使代码更加复杂和可读。在下面的代码中,我们使用 if-else 条件找到 8 的倍数,然后是 2 和 4 的倍数。
my_list = ['8 的倍数' if i % 8== 0
else '2 的倍数' if i % 2 == 0
else '4 的倍数' if i % 4== 0
else i for i in range(1, 20)]
打印(我的列表)
10. 扁平化列表。
要展平包含多个列表的列表,我们可以使用 append() 功能和 extent() 功能。它们唯一的区别是 append() 使用单个变量添加到
我的列表 = [10,12,36,[41,59,63],[77],81,93]
平= []
对于我在我的列表中:
if isinstance(i, list): flat.extend(i)
否则:flat.append(i)
打印(平面)
因此,这些是程序员几乎每天都会遇到的一些 Python 问题。我希望你喜欢这个博客!