python3比较好用的方法

说明:(1)在我写代码遇到比较好用的方法(函数)会写在这里,持续更新,欢迎补充。(2)菜鸟教程Python 内置函数

1、把链表list的元素组合起来

‘’.join(list):表示把链表list的元素组合起来。

list = ['i ', 'love ', 'python']
print(''.join(list))

#输出如下
i love python

2、去除字符串两端点空格

str.lstrip():lstrip方法去除字符串左端空格,类似方法:rstrip-去右端,strip-去两端。

str = '   python  '
print(str.strip())

#输出如下(两端没有空格)
python

3、str[::-1]:字符串倒序.

str = 'i love python'
print(str[::-1])

#输出如下
nohtyp evol i

4、布尔逻辑运算符的优先级

为not>and>or。(自己写的时候建议多加括号)

print(True or False and False)

#输出如下
True

5、zip()

:将多个列表对应的元素打包成一个个元组,然后返回由这些元组组成的列表。zip压缩的要用list才能显示出来,zip(*)是解压的函数。

a = [1,2,3]
b = [4,5,6]
c = [7,8,9,0]
zipped = list(zip(a,b,c))
print(zipped)
print(list(zip(*zipped)))

#输出如下
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

6、set() 函数创建一个无序不重复元素集

,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

x = set('runoob')
y = set('google')
print(x, y)
print(x & y)         # 交集
print(x | y)         # 并集
print(x - y)         # 差集

#输出如下
{'r', 'b', 'n', 'o', 'u'} {'l', 'g', 'o', 'e'}
{'o'}
{'r', 'e', 'l', 'b', 'g', 'n', 'o', 'u'}
{'b', 'r', 'n', 'u'}

7、enumerate() 函数用于将一个可遍历的数据对象

(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

s = ['a','b','c','d','e','f']
print(list(enumerate(s)))

#输出如下
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f')]

8、sorted()不会改变原来的list

而是会返回一个新的已经排序好的list,list.sort()方法仅仅被list所定义,sorted()可用于任何一个可迭代对象。

9、快速生成列表

print([str(i) for i in list]),输出是['1', '2', '3', '4', '5']

10、 lambda表达式

,形如lambda argument_list: expression。其中,lambda是Python预留的关键字,argument_list和expression由用户自定义。argument_list可以理解为输入,expression为输出。参考1参考2

11、在python中左移操作

<<相当于对一个数乘以2,右移操作相当于除以2.

print('3左移一位:', 3<<1)
print('8右移两位:', 8>>2)

#输出为
3左移一位: 6
8右移两位: 2

12、list取元素及反序操作

sums.pop()	#取出并删除
sums[-1]	#仅取出
nums[left], nums[right] = nums[right], nums[left]	#交换list中的两个元素位置
nums[left+1: length] = list(reversed(nums[left+1: length]))	#从left到right反序
sums = list(reversed(sums))	#全部反序
list = [i for i in reversed(list)]	#全部反序,反序时list时关键字,如果list被占用也可以使用这个

13、取出list中的某一(几)列

mylist = [[1,5,6],[2,7,8],[3,9,10],[4,11,12]]
list1 = [x[0] for x in mylist]
list2 = [x[1:] for x in mylist]
print(list1)
print(list2)

#输出如下
[1, 2, 3, 4]
[[5, 6], [7, 8], [9, 10], [11, 12]]

14、字符串乘数字,数组乘数组

print('.' * 3)
print([0] * 3)
#输出为:
# ...
# [0, 0, 0]

15、list + list

print([1, 2, 3] + [4])输出为[1, 2, 3, 4]

16、for循环一次循环两个链表

nums = [9,8,7,6,5,4,3,2,1,0]
for i, num in zip(range(10),nums):
    print(i, num, end=' @ ')    #加end=' @ '是为了在一行输出

#输出为:0 9 @ 1 8 @ 2 7 @ 3 6 @ 4 5 @ 5 4 @ 6 3 @ 7 2 @ 8 1 @ 9 0 @

17、在list指定位置插入元素

li=['a', 'b']
li.insert(0,"c")
#输出为:['c', 'a', 'b']

18、list删除指定元素的三种方式

1.remove: 删除单个元素,删除首个符合条件的元素,按值删除
举例说明:
>>> str=[1,2,3,4,5,2,6]
>>> str.remove(2)
>>> str
[1, 3, 4, 5, 2, 6]

2.pop:  删除单个或多个元素,按位删除(根据索引删除)
>>> str=[0,1,2,3,4,5,6]
>>> str.pop(1)   #pop删除时会返回被删除的元素
1
>>> str
[0, 2, 3, 4, 5, 6]
>>> str2=['abc','bcd','dce']
>>> str2.pop(2)
'dce'
>>> str2
['abc', 'bcd']

3.del:它是根据索引(元素所在位置)来删除
举例说明:
>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str
[1, 3, 4, 5, 2, 6]
>>> str2=['abc','bcd','dce']
>>> del str2[1]
>>> str2
['abc', 'dce']

除此之外,del还可以删除指定范围内的值。
>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4]  #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
>>> str
[0, 1, 4, 5, 6]

del 也可以删除整个数据对象(列表、集合等)
>>> str=[0,1,2,3,4,5,6]
>>> del str
>>> str         #删除后,找不到对象

19、字典中的get方法设置默认值

dict.get(key, default=None)	#Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。

20、除法得到int结果

print(5/3)
print(int(5/3))
print(5//3)
'''
1.6666666666666667
1
1
'''

21、二维数组转一维

matrix = [
   [ 1,  5,  9],
   [10, 11, 13],
   [12, 13, 15]
]
k = 8
print(sum(matrix, []))

>>> [1, 5, 9, 10, 11, 13, 12, 13, 15]

22、pickle保存变量再读取

import pickle

a_dict = {"da":111, 2:[23,1,4], '23':{1:2,"d":'sad'}}

file = open('pickle_example.pickle', 'wb')
pickle.dump(a_dict, file)
file.close()

with open('pickle_example.pickle', 'rb') as file:
    a_dict1 = pickle.load(file)

print(a_dict == a_dict1)

23、列表扩充元素

ret = [1,2]
list = [3,4]
s = (5,6)
ret.extend(list)
ret.extend(s)
print(ret)

24、对字典排序

import operator
dict_me = {1:5, 2:3, 3:4}
dict_sort = sorted(dict_me.items(),key = operator.itemgetter(1),reverse=True)
dict_sort
[(1, 5), (3, 4), (2, 3)]
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值