python_列表生成式

  • 例1:生成一个列表,列表元素分别为[1 ** 2,2** 2,3** 2,…n**2]
"""
# _*_coding:utf-8 _*_
Name:列表生成式_01.py
Date:4/3/19
Author:LiMin-wsp
Connect:314690259@qq.com
Desc:
"""
"""
生成一个列表,列表元素分别为[1**2,2**2,3**2...n**2]
"""
"""
普通方式:
li = []
for i in range(1,9):
    li.append(i ** 2)
print(li)
"""
##列表生成式
print([i**2 for i in range(1,9)])
运行结果:
[1, 4, 9, 16, 25, 36, 49, 64]
  • 例2:找出1-10之间的所有偶数,并返回一个列表(包含以这个偶数为半径的圆的面积)
"""
# _*_coding:utf-8 _*_
Name:列表生成式_02.py
Date:4/3/19
Author:LiMin-wsp
Connect:314690259@qq.com
Desc:
"""
"""
找出1-10之间的所有偶数,并返回一个列表(包含以这个偶数为半径的圆的面积)
"""
"""
普通方法:
import math
a = math.pi
li = []
for i in range(2,11,2):
    li.append(i ** 2 * a)
print(li)
"""
import math
a = math.pi
print([i ** 2 * a for i in range(2,11,2)])
运行结果:
[12.566370614359172, 50.26548245743669, 113.09733552923255, 201.06192982974676, 314.1592653589793]
  • 例3:找出1~100之间所有的质数
"""
# _*_coding:utf-8 _*_
Name:列表生成式_03.py
Date:4/3/19
Author:LiMin-wsp
Connect:314690259@qq.com
Desc:
"""
"""
找出1~num之间的所有质数
"""
def zhishu(num):
    for i in range(2,num):
        if num % i == 0:
            return False
    else:
        return True
num = int(input('输入: '))
print([i for i in range(2,num+1) if zhishu(i)])
运行结果:
输入: 8
[2, 3, 5, 7]
  • 例4:找文件
"""
# _*_coding:utf-8 _*_
Name:列表生成式_04.py
Date:4/3/19
Author:LiMin-wsp
Connect:314690259@qq.com
Desc:
"""
"""
找出/var/log/下以.log结尾的文件
"""
"""
普通方法:
import os
li = []
filename = []
s = os.listdir('/var/log')
li.append(s)
for i in s:
    if i.endswith('.log'):
        filename.append(i)
print(filename)
"""
##列表生成式
import os
print([filename for filename in os.listdir('/var/log')if filename.endswith('.log')])
运行结果:
['Xorg.1.log', 'Xorg.2.log', 'yum.log', 'Xorg.0.log', 'boot.log', 'wpa_supplicant.log']
  • 例5:腾讯面试题
"""
# _*_coding:utf-8 _*_
Name:列表生成式_05.py
Date:4/3/19
Author:LiMin-wsp
Connect:314690259@qq.com
Desc:
"""
"""
(2018-腾讯-在线编程题)
- 题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))# [2,3,5,7]
- 输入描述:输入包括一个整数n,(3 ≤ n < 1000)
- 输出描述:输出对数
- 示例1 :
    输入:10
    输出:2
"""
num = int(input('输入: '))
def zhishu(num):
    for i in range(2,num):
        if num % i ==0:
            return False
    else:
        return True
li = [i for i in range(2,num) if zhishu(i)]
count = 0
for item in li:
    if (num - item) in li and (item <= num - item):
        count += 1
print('输出: %d' %count)
运行结果:
输入: 10
输出: 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值