首页 > 编程语言 >python简短代码技巧

python简短代码技巧

时间:2022-11-17 14:00:46浏览次数:35  
标签:技巧 python 56 简短 ################################################################

 

 

#1.两个字典的合并

x = {'a': 1, 'b': 2}


y = {'c': 3, 'd': 4}

x.update(y)

print(x)



#字典的合并
dct1={'name':'wjh','age':20}
dct2={'city':'beijing','areas':'昌平区'}

#方法1
new_dict={**dct1,**dct2}
print('字典合并后的结果为:{}'.format(new_dict))

#方法2
dct1.update(dct2)
print('方法2合并后的结果:{}'.format(dct1))





####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#2.两个列表的合并

x = ['a', 'b']
y = ['c', 'd', 'e']

x.extend(y)
print(x)

#或者
x += y
print(x)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#3.计算列表中元素出现的频率,主要是通过调用python当中的collections模块来实现

from collections import Counter

my_list = ['a', 'b', 'b', 'a', 'a', 'a', 'c', 'c', 'b', 'd','e','f','e','e','e','e']

print(Counter(my_list).most_common())

#若是我们想要出现频率最多的一个,也就是在上面代码的基础之上添加筛选第一个元素的操作即可

print(Counter(my_list).most_common()[0])

#当然要是在后面再添加一个[0],意思就是筛选出出现频率最多的元素

print(Counter(my_list).most_common()[0][0])



####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################




from collections import Counter
list5='woxulingzhcaolixiu'
counts = Counter(list5)
print('字符串每个元素的个数为:{}'.format(counts))
print('字符串单个元素的个数为:{}'.format(counts['w']))
print('字符串单个元素出现次数最多的是:{}'.format(counts.most_common(1)))
 
#迭代实现
dict1={}
for i in list5:
   if i in dict1:
      dict1[i]+=1
   else:
      dict1[i]=1
print("方法2统计出现次数最多的元素是:{}".format(max(dict1,key=lambda  x:dict1[x])))



####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#4.计算获得除法中的商和余数,一般我们若想取得除法当中的商和余数,一般是Python运算符号当中的//和/,而divmod方法则可以让我们同时获得除法运算当中的商和余数,代码如下

quotient, remainder = divmod(32, 6)
print(quotient, remainder)


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#5.计算得到列表当中长度最长的字符串
words = ['Python', 'is', 'awesome','xulingzhicaolixiu']

print(max(words, key=len))

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#6.将列表中的顺序倒转
words = ['lingxiu','Python', 'is', 'awesome','lizhi','xucao']
reverse_words = words[::-1]
print(reverse_words)


#######  字符串的翻转

str1='wang jian hua'

#方法1
print(str1[::-1])

#方法2
from _functools import reduce
print(reduce(lambda x,y:y+x,str1))

# 说明:字符串的翻转,首先最简单的方法就是利用切片的操作,来实现翻转,其次可以利用reduce函数来实现翻转,
# 在python3中,reduce函数需要从functools中进行导入


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#7.文件的读与写 ,我们先将数据写入到文件当中
data = 'Python is awesome'
with open('file.txt', 'a', newline='\n') as f: 
   f.write(data)

#那我们从刚生成的文件当中读取刚写入的数据,代码就是这么来写
data = [line.strip() for line in open("file.txt")]
print(data)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#8.将字典当中的键值对位置调换
staff = {'Data Scientist': 'Mike', 'Django Developer': 'Dylan'}
staff = {i:j for j, i in staff.items()}
print(staff)


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#9.将嵌套列表合并为一个列表

#假设我们有这样的一个列表 

ss = [[1, 2, 3], [4, 5], [6], [7, 8], [9]]


#而我们最终希望列表能够是  [1, 2, 3, 4, 5, 6, 7, 8, 9]

#我们可以这么来做

flattened_list = [item for sublist in ss for item in sublist]

print(flattened_list)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#10.列表当中数据类型的转换

#例如有下面的列表

['1', '2', '3']
#我们要将其转换成整数类型,代码如下

print(list(map(int, ['1', '2', '3'])))

#当然我们也可以将可以尝试转换成浮点数的类型,代码如下

print(list(map(float, ['1', 2, '3.0', 4.0, '5', 6])))

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#11.将列表转化成字典

cars = ['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo']
cars_dict = dict(enumerate(cars))
print(cars_dict)


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#12.将列表当中的重复元素去除

st = list(set(['a', 'a', 'b', 'a', 'c','y','x','c','c','x','y','a','b']))
print(st)


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#13.从列表中筛选出特定元素

cars = ['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo']
car_1 = [car for car in cars if car[0] == "A"]
print(car_1)

#当然我们还可以通过调用Python当中的filter方法来实现,代码如下
car_1 = list(filter(lambda c: c[0] == 'A', cars))
print(car_1)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#14.列表中的元素排序

numbers = [55, -30, 28, -36, 48, 20]
numbers.sort()
print(numbers)

#当然我们也可以从大到小,这样的方式来排序,代码如下

numbers.sort(reverse=True)

print(numbers)

#而对于字符串而言,我们可以根据首字母的字母表顺序来排序

cars = ['Ford', 'Tesla', 'BMW', 'Volvo', 'Audi']
cars.sort()
print(cars)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#15.合并集合

set1 = {"1", "2", "5"}
set2 = {"4", "6", "7"}

set1.update(set2)
print(set1)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#16. 根据键来对字典进行排序

d = {'one': 1, 'three': 4, 'five': 8, 'six': 10}
result = {key: d[key] for key in sorted(d.keys())}
print(result)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#17. 根据键值来对字典进行排序

d = {'one': 15, 'three': 12, 'five': 8, 'six': 30}
result = {key: value for key, value in sorted(d.items(), key=lambda item: item[1])}
print(result)


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#18. 替换字符串

s1 = "Python is a programming language. Python is awesome".replace("Python",'Java')
print(s1)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#19. 计算指定字符串出现的次数

a = 'python is a programming language. python is python.'
result = a.count('python')
print(result)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#20. 将自定义方法作用在列表中的每个元素

from functools import reduce

print(reduce(lambda x, y: x*y, [2, 2, 3, 4]))

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#21. 找到最大的那个数
find_max = lambda x,y: x if x > y else y
result = find_max(5,20)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#22. 将矩阵转置

a = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

transposed = [list(i) for i in zip(*a)]
print(transposed)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#23. 生成斐波纳契数列,斐波纳契数列指的是列表当中元素的值是由前两个元素的值的总和而来的,例如像是1, 1, 2, 3, 5, 8,13,
#    要生成它的代码如下

fibo = [0, 1]
[fibo.append(fibo[-2]+fibo[-1]) for i in range(10)]
print(fibo)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#24. 删除列表中的多个元素

mylist = [100, 200, 300, 400, 500]
del mylist[:3]
print(mylist)

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#25. 多个if-else组合,目标是将下面多个if-else的组合,写在一行上面

x = 200

if x < 20:
    print("小于20")
elif x == 200:
    print("等于200")
else:
    print("大于20且不等于200")

#我们也可以将多个if-else组合放在一行上面写

x = 200
print("小于20") if x < 20 else print("等于200") if x == 200 else print("大于20且不等于200")


####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#26. 判断字符串是否是回文

str2='abccba'
str2_1='abcde'
def fun(string):
   if string == string[::-1]:
      print('该字符串是回文字符串')
   else:
      print('该字符串不是回文字符串')
fun(str2)
fun(str2_1)

#27. 单词大小写

print(str1.title()) #首字母大写
print(str1.upper()) #所有字母大写
print(str1.capitalize()) # 字符串首字母大写

#28. 字符串的拆分

str3='I love Python'
str3_1='I/love/Python'
str3_2='   I love  Python  '
print(str3.split()) #默认按照空格进行拆分,返回的是列表
print(str3.split('/'))
print(str3.split()) #默认去除字符串左右两边的空格,返回的是字符串
print(type(str3.strip()))

#29. 将列表中的字符串合并

lst=['W','jianhua','Hua']
print(' '.join(lst))

#去除字符串中的不需要的字符

import re
str4="W/ love. jian Hua"
print(' '.join(re.split('\W+',str4)))

#30. 查找字符串中唯一的元素

#寻找字符串中唯一的元素

s1='wwwwjjjjrrfttg'
print(''.join(set(s1)))

#对列表筛查
list1=[1,2,4,5,6,7,2,5,1]
print(list(set(list1)))

#说明一下:set可以帮助我们快速的筛查重复的元素,set不仅可以对字符串,还可以针对列表进行筛查

####################################################################################################################
print('\033[1;33m%s\033[0m' %("*-" *56))
####################################################################################################################

#31. 使出现重复的元素(乘法和加法)

#重复的元素
str1='python'
list1=[1,2,3]
print('乘法表示-方法1:{}'.format(str1*3))
print('乘法表示-方法2:{}'.format(list1*2))
 
str2='python'
list2=[1,2,3]
str_new=''
list2_new=[]

#加法表示
for i in range(2):
   str_new+=str2            #字符串
   list2_new.extend(list2)  #列表
print(str_new)
print(list2_new)

#32. 扩展列表


list3=[2,2,3,2]
print([2*x for x in list3])

#展开列表
list4=[[1,2,3],[4,5,6],[4,3],[1]]
print([i for k in list4 for i in k])

 

Python 一行代码

 

#交换两个变量
 
# a = 4 b = 5
a,b = b,a


  #多个变量赋值

 a,b,c = 4,5.5,'Hello'

 

  a,b,*c = [1,2,3,4,5]
  print(a,b,c)
  1 2 [3,4,5]

 

 

  #列表中偶数的和

  a = [1,2,3,4,5,6]
  s = sum([num for num in a if num%2 == 0])
  print(s)

 

  

  #创建列表

 

 lst = [i for i in range(0,10)]

print(lst)

#或者
lst = list(range(0,10))
print(lst)

   #使用相同的方法创建一个字符串列表。

 

 

   lst = [("Hello "+i) for i in ['Karl','Abhay','Zen']]
   print(lst)
   ['Hello Karl', 'Hello Abhay', 'Hello Zen']

 

   list(map(int,['1','2','3']))
   > [1, 2, 3]

   list(map(float,[1,2,3]))
   > [1.0, 2.0, 3.0]

   [float(i) for i in [1,2,3]]
   > [1.0, 2.0, 3.0]

 

   #创建集合 ,偶数的平方

   {x**2 for x in range(10) if x%2==0}

   #判断回文

   text = 'level'
   ispalindrome = text == text[::-1]
   ispalindrome

   > True 

 

    #用空格分隔的整数到一个列表

    lis = list(map(int, input().split()))
    print(lis)

    > 1 2 3 4 5 6 7 8
    [1, 2, 3, 4, 5, 6, 7, 8]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:技巧,python,56,简短,################################################################
From: https://www.cnblogs.com/chengxuyonghu/p/16899257.html

相关文章

  • python 的逻辑判断
    与shell的逻辑判断不同,python的逻辑判断不需要加结束符号,但是需要在判断条件后加“:”号例:ifage_of_Bob==guess_age:其他的逻辑判断用法差不多,像if....else,if.........
  • DE 算法的变体python实现
    上演化计算课的时候老师讲了一种DE算法的改进算法CoDE,于是看了下CoDE的论文中的算法步骤:算法中使用的三种交叉策略:根据不同的交叉策略采取不同的变异策略:超参数的三......
  • python - 初识python
    python2中文需要加字符编码样例:#-*-coding:utf-8-*-python3不需要加python变量引用用括号例子:name="你好,世界"print(name)%s变量字符串%d变量字符数字打......
  • 使用python中的requests库调用接口上传文件
    importrequestsurl="https://192.168.4.103/iof/base/resource/addResourceBf"payload={'resoId':'reso_fenlei16568654548266IP134232246455','resoName':'12......
  • Python删除文件多种方法详解!
    在开发过程中,创建文件之后当我们不需要这个文件或者创建错了就需要删除该文件,那么Python中删除文件的方法有几种?使用Python删除文件有多种方法,本文为大家介绍几种常用......
  • python神经网络编程2之用python搭建神经网络
    【python基础】环境:JupyterNotebookforninrange(10):print(n)pass#标志循环结束,下一行回正常缩进,done只打印一次我也可以删掉orzprint("done") ......
  • python读取文件列表修改txt内容
        importosfilePath='img'path2=r'/config/FHY_gps.txt'path3=r'/config/FHY_gps_new.txt'name=os.listdir(filePath)name.sort(key=lambdax......
  • python 子类调用父类中的init
    背景在定义完父类后,子类继承父类后,又想有自己的__init__方法方法在子类的__init__方法中调一下父类的___init__方法代码classTest1:def__init__(self):......
  • 工-python注解
    1、无参数和带参数defspamrun(fn):defsayspam(*args):print("spam,spam,spam")fn(*args)returnsayspam@spamrundefuseful(a,b):......
  • python中networkx学习(1)边和点
    importnetworkxasnxfrommatplotlibimportpyplotaspltG=nx.Graph(abb="pythondemo")#创建一个空图print(nx.Graph)#添加节点G.add_node("python")#生成一个以......