【数据分析基础】实行一 Python运算符、内置函数、序列根本用法 ...

打印 上一主题 下一主题

主题 1771|帖子 1771|积分 5315

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、实行目的


  • 熟练运用Python运算符。
  • 熟练运用Python内置函数。
  • 把握Python的根本输入输出方法。
  • 了解lambda表达式作为函数参数的用法。
  • 把握列表、元组、字典、聚集的概念和根本用法。
  • 了解Python函数式编程模式。
二、实行内容:

1. 在下令模式测试如下下令,通过结果理解并熟练把握以下内置函数:


(1)程序代码:
>>> from random import randint
>>> a = [randint(1, 100) for i in range(10)]
>>> print(max(a), min(a), sum(a))
100 27 664
>>> sum(a)/len(a)
66.4
(2)运行结果(截图):

(1)程序代码:

>>> x = list(range(11))
>>> import random
>>> random. shuffle(x)
>>> x
[0, 9, 6, 2, 1, 10, 8, 3, 5, 4, 7]
>>> sorted(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> y = ['aaaa', 'bc', 'd', 'b', 'ba']
>>> sorted(y, key=lambda item: (len(item), item))
['b', 'd', 'ba', 'bc', 'aaaa']
>>> sorted(x, key=lambda item: len(str(item)), reverse=True)
[10, 0, 9, 6, 2, 1, 8, 3, 5, 4, 7]
>>> sorted(x, key=str)
[0, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
(2)运行结果(截图):

(1)程序代码:

>>> list(map(str, range(5)))
['0', '1', '2', '3', '4']
>>> def add5(v):
...     return v+5
...
>>> list(map(add5, range(10)))
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> def add(x, y):
...     return x+y
...
>>> list(map(add, range(5), range(5, 10)))
[5, 7, 9, 11, 13]
>>>
(2)运行结果(截图):
  

(1)程序代码:

>>> range(5)
range(0, 5)
>>> list()
[]
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
>>> list(range(9, 0, -2))
[9, 7, 5, 3, 1]
(2)运行结果(截图):
    

(1)程序代码:

>>> list(zip('abed', [1, 2, 3]))
[('a', 1), ('b', 2), ('e', 3)]
>>> list(zip('123', 'abe', ',.!'))
[('1', 'a', ','), ('2', 'b', '.'), ('3', 'e', '!')]
>>> x = zip('abcd', '1234')
>>> list(x)
[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
(2)运行结果(截图):


2. 编写程序,输入恣意大的自然数,输出各位数字之和。

参考代码:
(1)程序代码:
  1. num = input('请输入一个自然数:')
  2. print(sum(map(int, num)))
复制代码
(2)运行结果(截图):

3. 编写程序,输入两个聚集 setA setB,分别输出它们的交集、并集和差集 setA-setB

参考代码:

(1)程序代码:
  1. setA = eval(input('请输入一个集合:'))
  2. setB = eval(input('再输入一个集合:'))
  3. print('交集:', setA & setB)
  4. print('并集:', setA | setB)
  5. print('setA-setB', setA - setB)
复制代码
(2)运行结果(截图):

4. 编写程序,输入一个包罗若干整数的列表,输出一个新列表,要求新列表中只包罗原列表中的偶数。

(1)程序代码:
  1. lst = input('请输入一个包含若干整数的列表:')
  2. lst = eval(lst)
  3. print(list(filter(lambda x: x % 2 == 0, lst)))
复制代码

(2)运行结果(截图):

5. 编写程序,输入两个分别包罗若干整数的列表lstA和lstB,输出一个字典,要求利用列表lstA中的元素作为键,列表lstB中的元素作为值,并且最终字典中的元素数目取决于lstA和lstB中元素最少的列表的数目。

(1)程序代码:
  1. lstA = eval(input('请输入包含若干整数的列表lstA:'))
  2. lstB = eval(input('请输入包含若干整数的列表lstB:'))
  3. result = dict(zip(lstA, lstB))
  4. print(result)
复制代码

(2)运行结果(截图):



6. 编写程序,输入一个包罗若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。

(1)程序代码:
  1. lst = eval(input('请输入包含若干整数的列表lst:'))
  2. print(sorted(lst, reverse=True))
复制代码
(2)运行结果(截图):



7. 编写程序,输入一个字符串,输出期中出现次数最多的字符及其出现的次数。要求利用字典。

(1)程序代码:
  1. data = input('请输入一个字符串: ')
  2. d = dict()
  3. for ch in data:
  4.     d[ch] = d.get(ch, 0) + 1
  5.     mostCommon = max(d.items(), key=lambda item: item[1])
  6. print(mostCommon)
复制代码
(2)运行结果(截图):


三、实行任务


  • 学习教材第1章、第2章内容,根据实行内容训练相干编程知识。
  • 独立完成如下编程任务并提交实行报告。(报告撰写要求详见模板文档)
1. 编写程序,输入一个包罗若干整数的列表,输出列表中所有整数连乘的结果。

(1)程序代码:
  1. lst = eval(input('请输入一个包含若干整数的列表: '))
  2. result = 1
  3. for num in lst:
  4.     result *= num
  5. print("列表中所有整数连乘的结果为:", result)
复制代码
(2)运行结果(截图):

2. 编写程序,生成包罗1000个0~100的随机整数,并统计每个元素的出现次数。

(1)程序代码:
  1. import random
  2. random_numbers = [random.randint(0, 100) for _ in range(1000)]
  3. count_dict = {}
  4. for num in random_numbers:
  5.     count_dict[num] = count_dict.get(num, 0) + 1
  6. print("每个元素的出现次数统计:", count_dict)
复制代码
(2)运行结果(截图):

部门截图

3. 编写程序,生成包罗20个随机数的列表,然后将前10个元素升序排序,后10个元素降序排列,并输出结果。

(1)程序代码:
  1. import random
  2. random_numbers = [random.randint(0, 100) for _ in range(20)]
  3. first_half = sorted(random_numbers[:10])
  4. second_half = sorted(random_numbers[10:], reverse=True)
  5. sorted_list = first_half + second_half
  6. print("排序后的列表:", sorted_list)
复制代码
(2)运行结果(截图):

部门截图


4. 编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标闭区间直接的元素组成的子列表。例如用户输入[ 1,2,3,4,5,6 ] 和2,5,程序输出[ 3,4,5,6 ]。

(1)程序代码:
  1. lst = eval(input('请输入一个列表: '))
  2. start_index = int(input('请输入起始下标: '))
  3. end_index = int(input('请输入结束下标: '))
  4. sub_list = lst[start_index:end_index+1]
  5. print("子列表:", sub_list)
复制代码
(2)运行结果(截图):


四、实行总结:

知识点小结

在本次实行中,我深入学习并实践了Python的多个核心概念和技巧。我把握了Python的根本运算符,这让我能够进行基础的数学计算和逻辑判断。
我也通过现实编程,熟练运用了Python的内置函数,好比max(), min(), sum(), sorted()等,这些函数极大地简化了我的数据处置处罚工作。
此外,我还了解了lambda表达式的用法,尤其是在对列表进行排序和筛选时,lambda表达式提供了极大的便利。
对于Python的序列范例,如列表、元组、字典和聚集,我通过实行加深了理解,并学会了怎样有用地利用它们来存储和操纵数据。我也接触了函数式编程的概念,通过利用map(), filter()等函数,我学会了怎样将问题分解成更小的、可复用的部门,并通过函数的组合来办理它们。
实行领会

通过这次实行,我领会到了理论知识与实践操纵相结合的告急性。我发现,只有将所学的概念应用到具体的编程任务中,才能真正理解和把握它们。
未办理的问题

在实行过程中,在理解某些内置函数的高级用法和优化代码性能方面。我发现,对于一些复杂的编程问题,我还需要更多的训练和学习才能找到最佳的办理方案。
改进的方法

为了进一步提高Python编程本事,我筹划接纳以下几个措施:
1. 深入学习:我将通过阅读Python官方文档、参考册本和在线教程来加深对Python内置函数和数据布局的理解。
2. 大量训练:我打算通过完成更多的编程训练和项目来提高我的编程技巧,特别是在数据处置处罚和算法设计方面。
3. 反思总结:我会定期回首和总结我的学习过程,找出知识盲点和不足之处,并制定相应的学习筹划。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表