千家信息网

使用Python技巧有哪些

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,小编给大家分享一下使用Python技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.如何判断一个列表中的数值是否
千家信息网最后更新 2025年02月07日使用Python技巧有哪些

小编给大家分享一下使用Python技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1.如何判断一个列表中的数值是否全部小于某个数

# 1.判断一个列表中的数值是否全部小于某个数num = 10list1 = [1, 1, 5, 5, 7, 1]# 青铜选手index = 0for n in list1:    if n < num :        index += 1        continue    else:        print("青铜选手", False)        breakif index == len(list1):    print("青铜选手", True)# 王者选手print("王者选手", all(map(lambda x: x < num, list1)))

青铜选手:最直观的方法,一个个遍历去判断列表中的元素是不是小于某个数值,太简单啦。

王者选手 :利用两个Python内置函数+Python匿名函数,一行代码即可轻松的解决。so easy~

2.如何对列表中的字符串按照特定要求进行排序

# 2.对列表中的字符串按照特定要求进行排序list2 = ["low", "irving", "james", "durant"]def first_c(str1):    return ord(str1[0])# 青铜选手 冒泡排序for i in range(len(list2)):    for j in range(len(list2) - i - 1):        if len(list2[j]) > len(list2[j+1]):            list2[j], list2[j+1] = list2[j+1], list2[j]print("青铜选手:", list2)# 王者选手print("王者选手:", sorted(list2, key=len))print("按首字母排序:", sorted(list2, key=first_c))

青铜选手:列表中的字符串排序算法就可以搞定啦,例如最经典的冒泡排序,肿么样?

王者选手:利用内置函数sorted一行代码就解决。不仅如此,对于排序的关键词指定方面,我还能自己设置排序的函数,例如上面的firstC函数,按照字符串的首字母进行排序。羡慕不?

3.如何实现按照键或者数值对字典进行排序

# 3.按照键或者数值对字典进行排序dict3 = {"low" : 3, "irving": 6, "james": 1, "durant": 4}# 青铜选手list3 = sorted(dict3.items(), key=lambda x: x[0])dict3_keys = {i:j for i, j in list3}print("青铜选手 按键排序:", dict3_keys)list3 = sorted(dict3.items(), key=lambda x: x[1])dict3_values = {i:j for i, j in list3}print("青铜选手按值排序:", dict3_values)#王者选手dict3_keys = {key: dict3[key] for key in sorted(dict3)}print("王者选手按键排序:", dict3_keys)dict3_values = {key: dict3[key] for key in sorted(dict3, key=dict3.get)}print("王者选手按值排序:", dict3_values)

青铜选手:这次我用了sorted内置函数进行排序后,再转换成字典形式。两行代码搞定!

王者选手:青铜选手你的方法在转换的过程中会造成空间资源浪费。我直接利用了对于键或者值进行排序,再利用排序后的键或者是值来构造最终的字典,且程序简洁。

4.怎么将列表中的数字转换成字符串

# 4.将列表中的数字转换成字符串list4 = [1, 3, 5, 7, 12, 6]#青铜选手 直接转换list_str4 = [str(i) for i in list4]print("青铜选手:", list_str4)#王者选手 利用map函数list_str4 = list(map(str, list4))print("王者选手:", list_str4)

青铜选手:我用的是列表解析方案,通过循环迭代的方式产生新的列表。这次够简洁,也不浪费空间了吧~~

王者选手:我利用了map内置函数,将列表中的数字转换为字符串。这次咱们算打平吧!

5.如何判断列表中的元素是否都属于一个类型

# 5.判断列表中的元素是否都属于一个类型list5 = ['1', '3', '5', '7', '12', '6']# 青铜选手 逐一判断每个元素index = 0for element in list5:    if not isinstance(element, str):        print("青铜选手:", False)        break    index += 1if index == len(list5):    print("青铜选手:", True)# 王者选手def checkStr(x):    if isinstance(x, str):        return True    else:        return Falseprint("王者选手:", all(list(map(checkStr, list5))))

青铜选手:这次我用的方法是逐个的判断列表中的每一个元素,如果有任一个元素不是字符串,则输出False。当全部循环结束后,如果index数值等于列表总长度,则输出True。

王者选手:利用map函数来判断列表中的每个元素是否满足函数checkStr。利用all函数来得到最终的结果。这不是更简单?

6.列表怎么反转呢

# 6.反转列表list6 = ['1', '3', '5', '7', '12', '6']# 青铜选手new_list6 = []for i in range(len(list6)-1, -1, -1):    new_list6.append(list6[i])print("青铜选手:", new_list6)# 王者选手print("王者选手:", list6[::-1])list6.reverse()print("王者选手:", list6)

青铜选手:创建一个新的列表对象,并将list6中的元素按照从后向前的方式添加到新列表中。

王者选手:我有两种方式喔,第一种方式是利用列表切片的方法,获取反转的列表。第二种方式是利用列表的reverse函数,但是reverse函数只能在原列表中进行修改,不能创建一个新的列表。Yeah~~

7.如何从可迭代对象中随机选择一个元素

# 7.从可迭代对象中随机选择一个元素import randomrandom.seed(0)list7 = ['6', '12', '7', '5', '3', '1']tuple7 = ("low", "irving", "james", "durant")print(random.choice(list7))print(random.choices(tuple7, k=3))print(random.sample(list7, k=2))

青铜选手:我不会,交白卷了只能。。。

王者选手:小青同学,搬好凳子认真听讲吧!在Python中进行随机数值的选择,可以利用Python的内置库random,上面函数中,choice函数是从列表中随机选择一个数值,choices函数又放回的选择k个数值,sample则是无放回的选择k个数值。一共三张姿势喔,学会了吗?

8.怎么利用列表创建字典

# 8.利用列表创建字典list8_1 = ["low", "irving", "james", "durant"]list8_2 = [3, 6, 7, 2]list8_3 = [5, 8, 1, 3]#青铜选手dict8 = {}for i in range(len(list8_1)):    dict8[list8_1[i]] = list8_2[i]print("青铜选手:", dict8)#王者选手dict8 = dict(zip(list8_1, list8_2))dict8_2 = dict(zip(list8_1, zip(list8_2, list8_3)))print("王者选手:", dict8)print("王者选手:", dict8_2)

青铜选手:用列表创建字典,再利用for循环的方式,在字典中创建键值对的item。这次我会!

王者选手:利用zip内置函数,创建一个zip对象,并利用dict函数将zip对象转化为字典,一行代码搞定。完胜!

9.筛选出以元音字母开头的字符串

# 9.筛选出以元音字母开头的字符串list9 = ["low", "irving", "james", "durant", "allen"]#青铜选手new_list9 = []for name in list9:    if name[0].lower() in "aeiou":        new_list9.append(name)print("青铜选手:", new_list9)print("王者选手:", list(filter(lambda x: x.lower().startswith(('a', 'e', 'i', 'o', 'u')), list9)))print("王者选手:", [name for name in list9 if name[0] in 'aeiouAEIOU'])

青铜选手:对于list9中的每个字符串元素进行判断处理,如果字符串的第一个字母是原因字母,则将该字符串添加到新的列表new_list9中。

王者选手:直接利用列表解析或者是通过filter函数来过滤list9中满足匿名函数的元素,相比于map函数,filter函数能够直接过滤出来满足条件的元素值。这不是更简单嘛~~

10.创建一个计数字典的方法

# 10.创建一个计数字典from collections import Counterlist10 = ["low", "irving", "james", "durant", "allen",  "irving", "james", "allen", "durant", "durant"]#青铜选手dict10 = {name:0 for name in set(list10)}for name in list10:    if name in dict10:        dict10[name] += 1    else:        dict10[name] = 1print("青铜选手:", dict10)# 王者选手print("王者选手:", dict(Counter(list10)))

青铜选手:首先创建一个字典,字典的键包含了list10中所有出现过的元素,然后逐一统计列表中元素出现的次数。这不就行了?

王者选手:借用collections库中的Counter类,直接统计list10中元素的个数,然后利用dict函数来讲Counter对象转化为字典对象。

以上是"使用Python技巧有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0