随手记,代码编写时候的技巧

随机创建个数字开头加字母的8位名称文件夹

dir_name = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print('图像文件将保存在',dir_name,'目录中')
os.mkdir(dir_name)

从一个无序数列中找出最大值和最小值

max_value = array[0]
min_value = array[0]
    for i in range(1, len(array)):
      if array[i] > max_value:
          max_value = array[i]
      if array[i] < min_value:
          min_value = array[i]
d = max_value - min_value # 最大最小值的差值,可用来创建数组

从一个无序数列中判断重复的元素次数有多少

array=[] # array为无序数列
count_array = [0] * (max_value+1)# count_array为新创建的数列,用来统计次数
for i in range(0, len(array)): # 
        count_array[array[i]] += 1 

创建一个数列后面索引的值是前面索引值的和

for i in range(1, len(count_array)):
     count_array[i] += count_array[i-1]

字典的get方法来求解大小写不同字母键的值的和

# 字典的get(key,default=指定默认的值)方法可以输出该key的值,若是指定了值就输出指定的值
mcase = {'a': 10, 'b': 34,'a':22, 'A': 7, 'Z': 3}
# 以该键在字典中的最后一项作为字典并输出
print('字典的键重复报什么错',mcase) # {'a': 22, 'b': 34, 'A': 7, 'Z': 3}
mcase_frequency = {
    k.lower(): mcase.get(k.lower(),0) + mcase.get(k.upper(),0)  # 键唯一,所以即便会相加2次,也是输出一次的结果
    for k in mcase.keys()
}
posted @ 2021-09-25 14:03  索匣  阅读(42)  评论(0编辑  收藏  举报