分享

锻炼你编程思维的15个代码!(上篇)

 z55j03b55 2023-07-22 发布于江西

图片


随着IT互联网、人工智能、数字化等领域的发展进步,学习编程、理解产品运行逻辑的重要性不言而喻,未来拥有编程能力者将会成为社会的佼佼者,越来越多的人意识到了编程的重要性。

对于大多数初学者来说,有意识地去锻炼自己的编程思维是非常有必要的。比尔盖茨、扎克伯格、乔布斯用经验告诉我们,拥有编程思维的人,就相当于成功了一半——不但逻辑清晰心思缜密,而且解决问题能力、管理能力也非一般人可比。

图片

可能很多用户都听说过编程思维,但有真正了解编程思维是什么吗?

学术上讲,编程思维是解决问题的算法加代码实现的过程的集合,编程思维有两个组成部分,一部分是算法设计,另一部分是代码实现。在我们学习编程的过程中,最关键的不是掌握编程的“语言”,而是学会编程的过程所用到的思考方式,也就是“编程思维”。

编程思维的核心,不是编程语言,也不是语法,甚至不是算法或数据结构本身,而是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法上,然后才能根据算法写程序实现。

本文分享了15个 Python 极简任务,它们能很好地锻炼你的编程思维,初学者可以尝试着自己实现,有任何问题欢迎在文末留言。

图片

以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。

# 定义函数def all_unique(lst): return len(lst)== len(set(lst))
name_list = ['Python', 'Forchange', 2022, 2021, 'Python', 'pypy']all_unique(name_list)

图片

检查两个字符串的组成元素是不是一样的。

from collections import Counter
# 定义函数def anagram(first, second): return Counter(first) == Counter(second)
anagram('Forchange', 'changeFor')

图片

import sys
variable = 30print(sys.getsizeof(variable))

图片

下面的代码块可以检查字符串占用的字节数。

# 定义函数def byte_size(string):    return(len(string.encode('utf-8')))
# 查看字符串'风变编程'所占用的字节数byte_size('风变编程')

图片

该代码块不需要循环语句就能打印 N 次字符串。

n = 5s = '风变编程'# 打印五次'风变编程'print(s * n)

图片

以下代码块会使用 title() 方法,从而大写字符串中每一个单词的首字母。

s = 'you can learn python programming at 'print(s.title() + 'www.pypypy.cn')

图片

给定具体的大小,定义一个函数以按照这个大小切割列表。

from math import ceil
# 定义函数def chunk(lst, size): return list(map(lambda x: lst[x*size: x*size+size], list(range(0, ceil(len(lst)/size)))))
chunk('学编程赶快来风变', 3)

图片

这个方法可以将布尔型的值去掉,例如(False,None,0,“”),它使用 filter() 函数。

# 定义函数def compact(lst):    return list(filter(bool, lst))
compact([2022, 1009, False, '', 'forchange', 'pypypy', 5])

图片

如下代码段可以将打包好的成对列表解开成两组不同的元组。

array = [['风', 'Forchange'], ['变', 'Python'], ['科', 'pypypy'], ['技', 'Hello World']]transposed = zip(*array)print(list(transposed))

图片

我们可以在一行代码中使用不同的运算符对比多个不同的元素。

a = 2022print(2021 < a < 2023)print(2021 == a < 2023)

图片

下面的代码可以将列表连接成单个字符串,且每一个元素间的分隔方式设置为了逗号。

courses = ['基础语法', '高效办公', '网络爬虫', '数据分析']print('风变Python课程包含:' + ', '.join(courses))

图片

以下方法将统计字符串中的元音 ('a’, 'e’, 'i’, 'o’, 'u’) 的个数,它是通过正则表达式做的。

import re
def count_vowels(str): return len(len(re.findall(r'[aeiou]', str, re.IGNORECASE)))
count_vowels('foobar') count_vowels('gym')

图片

如下方法将令给定字符串的第一个字符统一为小写。

# 定义函数def decapitalize(str): return str[:1].lower() + str[1:]
decapitalize('Forchange')

图片

该方法将通过递归的方式将列表的嵌套展开为单个列表。

# 定义函数def spread(arg):    ret = []    for i in arg:        if isinstance(i, list):            ret.extend(i)        else:            ret.append(i)    return ret
# 定义函数def deep_flatten(lst): result = [] result.extend(spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst)))) return result
deep_flatten([1, [2], [[3], 4], 5])

图片

该方法将返回第一个列表的元素,其不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一句 set_b.difference(set_a)。

# 定义函数def difference(a, b): set_a = set(a) set_b = set(b) comparison = set_a.difference(set_b) return list(comparison)
difference(['Forchange', 2022, 2021], ['Python', 2022, 2021])

如果你也想掌握Python
紧跟时代步伐
抑或是希望提升职场竞争力

👇🏻👇🏻👇🏻戳这里,即刻探索编程新世界)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多