python_day_2


#数据类型
"""
list 可变序列 ,可添加,删除,修改,切片,拼接,重复
tuple 不可变序列, 可切片,拼接,重复
range 不可变序列, 以x开始,y结束,s步长,定义一个序列

dict 称映射,字典或散列。可变,无序,有索引的集合,键只能是 字符串,数字或元祖,必须唯一;值可以是任意类型。  {}

set 可变的、无序的、无索引的集合,可以用花括号{}或者set()函数创建,可以添加、删除或修改元素,也可以进行交集、并集、差集等数学运算
frozenset 冻结的set,所以不可变,无序,无索引,不可添加,删除,修改。可以交集,并集,差集


bytes
bytearray
memoryview

"""
# 序列 list tuple range=======================================================================================
"""
list是一个可变序列,可以用方括号[]或者list()函数创建,可以添加、删除或修改元素,也可以进行切片、拼接、重复等操作。list的方法有append(), extend(), insert(), remove(), pop(), sort(), reverse(), count(), index()等12。
tuple是一个不可变序列,可以用圆括号()或者tuple()函数创建,不能添加、删除或修改元素,但可以进行切片、拼接、重复等操作。tuple的方法有count()和index()12。
range是一个不可变序列,可以用range()函数创建,表示一个整数序列,通常用于循环中。range的参数有start, stop和step,分别表示起始值、终止值(不包含)和步长。range的方法有count()和index()
"""

# 创建一个list
lst = [1, 2, 3, 4]
# 添加一个元素
lst.append(5)
# 输出结果
print(lst) # [1, 2, 3, 4, 5]

# 创建一个tuple
tup = (1, 2, 3, 4)
# 尝试修改一个元素
# tup[0] = 5 # TypeError: 'tuple' object does not support item assignment
# 输出结果
print(tup) # 报错

# 创建一个range
rng = range(1, 10, 2)
# 输出结果
print(list(rng)) # [1, 3, 5, 7, 9]

#===========================================================映射 dict(字典,散列)===========================================
"""
dict 映射,又称字典,散列
dict 可变,无序,有索引的集合
dict 键只能是 字符串,数字或元祖,必须唯一;值可以是任意类型
"""

person = {'name':'peter.xiu','age':35,'country':'china'}
print(person)
print(type(person))

_name = person['name']
_age = person['age']

print(_name,_age)

person['country'] = 'USA'
print(person['country'])

person['size'] = 60
print(person['size'])

person.pop('country')

print(person)

person_copy = person.copy()

print(person_copy)

person.clear()
print(person)
#===================================================集合类型 set, frozenset==============================================
"""
set是一个可变的、无序的、无索引的集合,可以用花括号{}或者set()函数创建,可以添加、删除或修改元素,也可以进行交集、并集、差集等数学运算。set的方法有add(), remove(), discard(), pop(), update(), difference(), intersection(), union()等123。
frozenset是一个不可变的、无序的、无索引的集合,可以用frozenset()函数创建,不能添加、删除或修改元素,但可以进行交集、并集、差集等数学运算。frozenset相当于一个冻结的集合,可以作为字典的键或其他集合的元素423。
set和frozenset的应用场景有:去除重复元素,检查元素是否存在,实现集合运算等
"""
person = {'peter.xiu','35','china'}
print(person)

body = {1,2,3.45,5}
print(body)


#======================================================二进制类型:bytes, bytearray, memoryview===========================

"""
区别和场景
bytes 不可变
bytearray 可变
memoryview 引用二进制数据
"""

x = b'abc'
print(x)

barr = bytearray(123)
print(barr)


#=================================================================字符串补充===============================================
#转义字符
print('c:\some\name') #\n被解释为换行

#不需要转义,前面加r
print(r'c:\name\some')

print("""
这里是一段文字
    有格式的文字
""")

"""
+字符串连接符
* 重复符号
"""

print(3*'peter.xiu ')

#相邻的字符串自动连接
print('wang' 'peter.xiu')



##字符串,索引访问,提取单个字符
text = 'peter.xiu learn python'
print(text[0])

print(text[-1])

print(text[9])


#切片,提取字符串
print(text[0:2])
print(text[:2]) #省略默认0

print(text[3:]) #省略默认等于字符串长度
print(text[3:1000000]) #超长等于,字符串长度
print(text[-32222222222222222:1000000]) #超长等于,字符串长度

#python字符串,是immutable(不可改变的)
# text[0] = 't' #这个会报错



#================================================list======================================================

list = [1,2,3,4,5,6,78]
print(list)

#切片
print(list[3:])

#合并
_add_list = list + [999,456]
print(_add_list)

#浅拷贝
copy_list = list[:]
print(copy_list)


#is mutable,是可变的
list[1] = 22222
print(list)


#append 列表结尾最佳
list.append(22222)
print(list)

#7的三次方  7*7*7 =================================================================幂运算==============================
print(7**3)

list.append(2**2)
print(list)

#切片赋值

list[2:3] = [111]
print(list)


list[2:3] = []
print(list)


list[:] = []
print(list)

#长度
member = ['peter','wang','jun','tian','yan']
len = len(member);
print(len)

#嵌套列表,多维列表

classlist = ['c1','c2','c3'];

school = ['t1','t2',classlist]

print(school)

print(school[2:])
print(school[2:][0][:])


#斐波那契数列 斐波那契数列是一个数学上的数列,它的每一项都是前两项的和
def fbnqsl(n):
    a,b = 0,1
    result = []
    for i in range(n):
        result.append(a)
        a,b = b,a+b

    return result

print(fbnqsl(10))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值