学python必看的12个编程小技巧(快速提高编程能力)

  Python虽然结构简单,编程难度低,但是仍然还是比较麻烦,下面介绍12个编程小技巧。

 掌握这些技巧后,一定能事倍功半,不,是事半功倍。

1,如何用input输入多个数据

2,同时获取索引和下标

3,内存地址查询

4,将两个列表转换为字典

5,列表元素频率统计(利用字典)​​​​​​​

6,交换两个变量的值​​​​​​​

7,比较大小​​​​​​​

8,对象占用内存量查询​​​​​​​

9,检查是否有重复元素​​​​​​​

10,查找列表中出现次数最多的数​​​​​​​

11,反转列表​​​​​​​

12,合并列表的两种方法​​​​​​​

1,如何用input输入多个数据

#方法一List=eval(input('输入若干个数字,以逗号分隔:'))#输入个数任意,都保存到List中,下同#方法二List = list(map(int, input('输入数字,以空格分隔').split()))#int可以换为float等等,得到的数据也随之为相应类型。解释:1.map( )map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。2.split( )拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表3.map(function,input(“以空格分开”).split())由于input( )输出的是用空格分开的字符串,split( )会分割开各个值并放到列表中,此时在列表中的值是字符串,如果要用于运算,那么必须在map( )中利用int( )或者float( )等处理,再赋值。

2,同时获取索引和下标​​​​​​​

List=[1,2,3,4,5,6]for i,j in enumerate(List):#i为下标,j为相应数据    print("数据:",j,end=' ')    print("下标:",i)结果:数据: 1 下标: 0数据: 2 下标: 1数据: 3 下标: 2数据: 4 下标: 3数据: 5 下标: 4数据: 6 下标: 5

3,内存地址查询

a=123b='blue'print(id(a))#不同电脑,值应该不同print(id(b))结果:19428279154401942867659952

4,将两个列表转换为字典​​​​​​​

a=['A','B','C','D','E']b=[1,2,3,4,5]#方法一c1=dict(zip(a,b))#方法二c2={key:value for key,value in zip(a,b)}#方法三c3={}#初始化一个空字典for k,v in zip(a,b):    if k not in c3.keys():#判断k是否在c3字典的键中        c3[k]=vprint(c1)print(c2)print(c3)
结果:{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5}{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5}{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5}

5,列表元素频率统计(利用字典)​​​​​​​

a=[1,2,3,1,2,4,6,5,6,6,7,9,10,10]b={}for i in a:    if i not in b.keys():        b[i]=1    else:        b[i]=b[i]+1print(b)          结果:{1: 2, 2: 2, 3: 1, 4: 1, 6: 3, 5: 1, 7: 1, 9: 1, 10: 2}

6,交换两个变量的值​​​​​​​

x,y=12,15print(x,y)x,y=y,xprint(x,y)结果:12 1515 12

7,比较大小​​​​​​​

x=3print(1<x<6)结果:True解释:这在C语言中毫无疑问,一定是错的,然而,python是支持这种语法的,当然,用且来判断也是可行的。

8,对象占用内存量查询​​​​​​​

from sys import getsizeofa=100b='green'print(getsizeof(a))print(getsizeof(b))结果:2854

9,检查是否有重复元素​​​​​​​

List1=[1,2,3,4,56]List2=[1,1,3,4,5,5]print("有重复元素:",len(List1)!=len(set(List1)))print("有重复元素:",len(List2)!=len(set(List2)))结果:有重复元素: False有重复元素: True
解释:set(x)函数可以用于集合生成,其中的参数可以为任意数据类型,返回结果是一个无重复且排序任意的集合。也就是说,如果输入数据有重复,那么返回的结果也会把重复的数据变得不再重复。

10,查找列表中出现次数最多的数​​​​​​​

#方法一List1=[1,2,3,4,56,11,2,3,4,5,6,7,1,2,3,1,1,1,19]print(max(set(List1),key=List1.count))#方法二from collections import Counter #python内置库ct=Counter(List1)#输出频率最高的1个print(ct.most_common(1))结果:1[(1, 5)]#1出现5次

11,反转列表​​​​​​​

list1=[1,2,5,4,7,6]list2=list1[::-1]print(list2)结果:[6, 7, 4, 5, 2, 1]

12,合并列表的两种方法​​​​​​​

list1=[1,2,5,4,7,6]list2=['A','B','C','D']list3=list1+list2#直接加list4=list1.extend(list2)#调用列表的extend方法print(list3)print(list4)print(list1)结果:[1, 2, 5, 4, 7, 6, 'A', 'B', 'C', 'D']None[1, 2, 5, 4, 7, 6, 'A', 'B', 'C', 'D']解释:为什么list4为None?其实,这里非常重要,列表的append和extend方法都会对原有列表进行修改,是不会返回一个新的列表的,返回值为None。

 python虽然学起来简单,但是知识量也是挺大的,由于第三方库的丰富和一些特殊的技巧,也使得许多问题的解决变得非常简便。而这些技巧的掌握则需要平时的大量积累。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值