必须掌握的Python技巧(一)

男娘i 2022-11-27 10:13 214阅读 0赞

文章目录

        • 1、重复元素判定
        • 2、字符元素组成是否相同的判定
        • 3、查看变量的内存占用
        • 4、查看字符串占用的字节数
        • 5、打印某个字符串n次,不需要循环
        • 6、切割列表的元素,分成指定元素个数(n)的若干个列表
        • 7、压缩:去掉布尔型元素
        • 8、解包:将打包好的列表按照类别分成元组
        • 9、链式对比
        • 10、逗号链接:join

1、重复元素判定

  1. def If_uni(li):
  2. return len(li) == len(set(li))
  3. x = [1, 2, 3, 3, 4, 4, 5, 6, 7]
  4. y = [1, 2, 3, 4, 5]
  5. z = ('a', 'b', 'c', 1, 2, 3)
  6. v1 = If_uni(x)
  7. v2 = If_uni(y)
  8. v3 = If_uni(z)
  9. print(v1, v2, v3, sep='\n')

11

2、字符元素组成是否相同的判定

  1. from collections import Counter
  2. def anagram(one, two):
  3. return Counter(one) == Counter(two)
  4. v = anagram("abcd3", "3acdb")
  5. print(v)

22

3、查看变量的内存占用

  1. import sys
  2. v1 = 30
  3. v2 = "I love China!"
  4. print(sys.getsizeof(v1), sys.getsizeof(v2), sep='\n')

33

4、查看字符串占用的字节数

  1. def byte_size(string):
  2. return(len(string.encode('utf-8')))
  3. v1 = byte_size('')
  4. v2 = byte_size('Hello World')
  5. print(v1, v2, sep='\n')

5、打印某个字符串n次,不需要循环

  1. n = 5
  2. s ="LoveYou"
  3. print(s * n)

55

6、切割列表的元素,分成指定元素个数(n)的若干个列表

  1. from math import ceil
  2. def chunk(lst, n):
  3. return list(
  4. map(lambda x: lst[x * n:x * n + n],
  5. list(range(0, ceil(len(lst) / n))))
  6. )
  7. v1 = chunk([1,2,3,4,5,6,7,8],3)
  8. print(v1)

66

7、压缩:去掉布尔型元素

  1. def compact(lst):
  2. return list(filter(bool, lst))
  3. v1 = compact([0, 1, False, 2, '', 3, 'a', 's', 34])
  4. print(v1)

77

8、解包:将打包好的列表按照类别分成元组

  1. a = [['a', 'b'], ['c', 'd'], ['e', 'f']]
  2. transposed = zip(*a)
  3. print(transposed)

88

9、链式对比

  1. a = 5
  2. print( 2 < a < 8)
  3. print(1 == a < 2)

99

10、逗号链接:join

  1. hobbies = ["basketball", "football", "swimming"]
  2. print("My hobbies are: " + ", ".join(hobbies))

10

发表评论

表情:
评论列表 (有 0 条评论,214人围观)

还没有评论,来说两句吧...

相关阅读