python问题整理

  1. python为什么不需要声明变量,是一种怎样的运行模式?
    Python不用声明变量吗?
  2. 字节串与字符串的区别与联系?
    Python中字节串和字符串,不是一个概念却没有区别之分
  3. py可迭代对象:
#   第二章

'''
    map()函数把一个函数依次映射到每一个元素上    《映射》
    返回一个可迭代的map对象,但map()函数不对原序列进行任何修改.
'''

print(tuple(map(str, range(5))))
print(list(map(str, range(5))))
# print(dict(map(str, range(5))))
print(set(map(str, range(5))))
var = map(str, range(5))


def add5(v):
    return v ** v


var = list(map(add5, range(10)))
print(var)


import random
x = random.randint(0,1e30)
print(x)

# 提取大整数上的每一位数字
print(list(map(int, str(x))))


'''
    reduce()函数:迭代累积
    需要导包.
'''
from functools import reduce

x = reduce(lambda x, y: x+y, range(1,10))
print(x);


'''
    filter()函数:
    filter:过滤器.
    将一个单参数函数作用到一个序列上,返回该序列中使得该函数返回值为True的元素组成的filter对象
    与map()相同的地方,不对原序列做任何修改.
'''
seq = ['foo', 'x41', '?!', '***']
def func(x):
    return x.isalnum()

v = filter(func, seq)

for item in v:
    print(item)

print(v)
v = list(v)

print(v)
print("aksfjh")


print(seq)

'''
    zip()函数
    用于把多个可迭代对象中对应位置上的元素压缩在一起,返回一个可迭代的zip对象,其中每个元素都是包含原来多个可迭代对应位置上元素的元组;
    元组的长度取决于所有参数序列或可迭代对象中最短的那个.
'''

zpp = list(zip('abcd', [1,2,3]))
print(zpp);
zpp = zip('abcd', [1,2,3])
print(zpp);

#对一个序列也可以压缩
zp = list(zip('abcd'))
print(zpp)

zppp = list(zip('abcd','1234','!?()'))
print(zppp)

#zip对象可迭代
for item in zip('abcd','1234'):
    print(item)

#注意:使用for迭代时每个对象只能遍历一次,其访问过元素就不存在了.   enumerate、filter、map对象以及生成器对象也有这个特点.



'''
    输出print:
'''

print(1,2, sep='dfsk')
print("kdsfjh")

print(1,2, sep='dfsk', end='!!!')
print("dsfkhj")

print(1,2, sep='dfsk', end='!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
print("我是狗")


print(9999 ** 9999)

xx = {1,2,3}
# print(3*xx)
print(xx)
# print(xx*3)       不成立

xx = list(xx)
print(xx)
print(xx*3)
print(3*xx)

# 连续执行两次list(xxx)得不到相同的结果:zip生成的可迭代对象只能遍历一次,访问过就不存在了.

xxx = zip('abc','1234')
y = list(xxx)
print(y)

z = list(y)
print(z)
z = list(xxx)
print(z)
  1. py序列结构
#   第三章、 py序列结构

'''
    按照分类方式分为两类:
        1. 有序序列:元组、列表、字符串
           无序序列:集合、字典
        2. 可变序列:列表、集合、字典
           不可变序列:元组、字符串
'''

# 一、列表

# 同一列表上的不同元素数据类型可以不同,元素以逗号分隔开,且列表可以嵌套.

var = [10, 20, 30, 40]
var = ['sdfukh', 'dsfkhj', 'usdi ud']
var = ['dfsh', 5, [5], [[5, 'fhka'], [6, 'sdh']]]

# 列表的创建于删除

# 创建:"="    删除: del
a = []         # 创建空列表: 两种方式
a = list()

del a          # 删除空列表

# 此外,可以使用list()函数将元组、range对象、字符串、字典、集合或其他可迭代对象转换为列表


# 列表元素的访问:支持索引访问(下标从零开始)

x = list('love python')
print(x[0])
print(x[5])
print(x[-3])     # 倒数第三个元素
print(x)

# 列表常用方法.


坑点:
reversed 返回的是对象

a = [1,2,3]
var = sorted(a, reverse=True) == reversed(a)
print(var)

输出:False

a = [1,2,3]
var = sorted(a, reverse=True) == list(reversed(a))
print(var)

输出:True


文章部分引用链接已经标出。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辽宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值