翼度科技»论坛 编程开发 python 查看内容

Python中的13个搔操作

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
字符串操作

1.字符串的翻转
  1. # 方式一
  2. s = 'hello  world'
  3. print(s[::-1)
  4. # 方式二
  5. from functools import reduce
  6. print(reduce(lambda x,y:y+x, s))
复制代码
2.判断字符串是否是回文

利用字符串翻转操作可以查看字符串是否回文
  1. s1 = 'abccba'
  2. s2 = 'abcde'
  3. def func(s):
  4.     if s == s[::-1]:
  5.         print(‘回文’)
  6.     else:
  7.         print('不回文')
  8. func(s1)
  9. func(s2)
复制代码
3.寻找字符串中唯一的元素

去重操作可以借助 set 来进行
  1. # 字符串
  2. s1 = 'wwweeerftttg'
  3. print(''.join(set(s1))) # ftgwer
  4. # 列表
  5. l1 = [2, 4, 5, 6, 7, 1, 2]
  6. print(list(set(l1)))  # [1, 2, 4, 5, 6, 7]
复制代码
4.判断字符串所含元素是否相同

判断字符串中包含的元素是否相同,无论字符串中元素顺序如何,只要包含相同的元素和数量,就认为其是相同的。
  1. from collections import Counter
  2. s1, s2, s3 = 'asdf', 'fdsa', 'sfad'
  3. c1, c2, c3 = Counter(s1),  Counter(s2), Counter(s3)
  4. if c1 == c2 and c2 == c3:
  5.     print('符合')
复制代码
列表操作

1.将嵌套列表展开
  1. from iteration_utilities import deepflatten
  2. #Python小白学习交流群:153708845
  3. l = [[12, 5, 3], [2. 4, [5], [6, 9, 7]], ]
  4. print(list(deepflatten(l)))
复制代码
2.从任意长度的可迭代对象中分解元素
  1. first, *middle, last = grades #*表达式可以用来将一个含有N个元素的数据结构类型分解成所需的几部分
复制代码
3.找到最大或最小的N个元素
  1. import heapq
  2. nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]
  3. print(heapq.nlargest(3, nums)) # [42, 37, 23]
  4. print(heapq.nsmallest(3,nums)) # [-4, 1, 2]
  5. # 根据指定的键得到最小的3个元素
  6. portfolio = [
  7.     {'name': 'IBM', 'shares': 100, 'price': 91.1},
  8.     {'name': 'AAPL', 'shares': 50, 'price': 543.22},
  9.     {'name': 'FB', 'shares': 200, 'price': 21.09},
  10.     {'name': 'HPQ', 'shares': 35, 'price': 31.75},
  11.     {'name': 'YHOO', 'shares': 45, 'price': 16.35},
  12.     {'name': 'ACME', 'shares': 75, 'price': 115.65}
  13. ]
  14. cheap = heapq.nsmallest(3, portfolio, key=lambda s: s['price'])
复制代码
其他

1.检查对象的内存占用情况
  1. import sys
  2. s1 = 'a'
  3. s2 = 'aaddf'
  4. n1 = 32
  5. print(sys.getsizeof(s1)) # 50
  6. print(sys.getsizeof(s2)) # 54
  7. print(sys.getsizeof(n1)) # 28
复制代码
2.print操作
  1. # print输出到文件
  2. with open('somefile.txt', 'rt') as f:
  3.     print('Hello World!', file=f)
  4.     f.close()
  5. # 以不同的分隔符或行结尾符完成打印
  6. print('GKY',1995,5,18, sep='-',end='!!\n')  # GKY-1995-5-18!!
复制代码
3.读写压缩的文件
  1. import gzip
  2. with open('somefile.gz', 'rt') as f:
  3.     text = f.read()
  4.     f.close()
  5. #Python小白学习交流群:153708845
  6. import bz2
  7. with open('somefile.bz2', 'rt') as f:
  8.     text = f.read()
  9.     f.close()
  10.    
  11. import gzip
  12. with open('somefile.gz', 'wt') as f:
  13.     f.write(text)
  14.     f.close()
  15. import bz2
  16. with open('somefile.bz', 'wt') as f:
  17.     f.write(text)
  18.     f.close()
复制代码
来源:https://www.cnblogs.com/djdjdj123/p/17817777.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具