小白学习Python的第四天

一. 数字相关类型的补充

Python中和数字相关的类型:int(整形)、float(浮点型)、bool(布尔)、complex(复数)
1.int(整型) - 所有整数对应的类型

"""
python中整数支持4种写法:十进制数、二进制数、八进制数和十六进制
十进制:基数0~9,表示的时候直接写:98、132、1534
二进制:基数0~1,表示的时候加前缀0b/0B:ob1100,ob1102
八进制:基数0~7,表示的时候加前缀0o/0O:0o6234,0o1237
十六进制:基数0~9,a~f(A~F),表示的时候加前缀0x/0X:0x12
"""

1)python如果要获取一个其他进制数对应的等值的十进制数是多少,直接用print打印就行了
2)bin(数字) - 将其它进制的数转换成二进制形式的数

print(bin(1000))   # 0b1111101000
print(bin(0o123))   # 0b1010011

3)oct(数字) - 将其它进制的数转换成八进制形式的数

print(oct(154))   # 0o232

4)hex(数字) - 将其它进制的数转换成十六进制形式的数

print(hex(981))   # 0x3d5

2.float(浮点型) - 所有小数对应的类型

"""
1)支持科学技术法:xey - x乘以10的y次方
2)计算机在存储浮点数的时候不能存储绝对相等的值
"""

3.bool(布尔)

"""
bool类型的本质就是一种特殊的整型,其中True就是1,False就是0
"""

4.complex(复数)

"""
由实部和虚部组成的数,数学中虚数单位是i,在python虚数单位是j:A+Bj
注意:如果虚部是1,这个1不能省

1)python中的复数直接支持数学的复数运算
"""
num1 = 3+1j  

num = 10+20j
print(type(num))   # <class 'complex'>

print(num + num1)   # (13+21j)
print(num * num1)   # (10+70j)

二. 列表

1.什么是列表(list)

"""
列表是容器型数据类型(序列),将[]作为容器的标志,里面多个元素用逗号隔开:[元素1, 元素2, ...]
列表是可变的(元素的个数和值可变);列表是有序的(元素在容器中的顺序)
任何类型的数据都可以作为列表的元素
"""

1)空列表:[]

list1 = []
print(list1, type(list1))   # [] <class 'list'>

2)元素是任何类型的数据

list2 = [1, 5, 'adf', True, [1, 2]]
print(list2)

3)列表命名规范:英语单词的复数形式或者在后面加list

2.列表元素的增删改查
1)查 - 获取元素
a. 获取单个元素

"""
语法:
列表[下标]

说明:
1.列表 - 需要获取元素对应的列表
2.[] - 固定写法
3.下标 - 又叫索引;是元素在列表中位置信息对应的标号,每个元素对应的下标有两种:
  从0开始依次增加(0表示第一个, 1表示第二个...);从-1开始一次减小(-1表示倒数第一个, -2表示倒数第二个, ...)
"""
movies = ['八佰', '花木兰', '信条', '星际穿越', '熊出没', '肖申克的救赎']
print(movies[1])   # 花木兰
print(movies[-2])   # 熊出没

# 注意:下标不能越界
# print(movies[10])   # IndexError: list index out of range

b.遍历 - 将列表中的元素一个一个全部取出来
直接遍历获取元素

"""
for 遍历 in 列表:
    循环体
这儿的变量获取到的就是列表中的元素
"""

for i in movies:
    print(i)

c.遍历同时获取列表元素和元素对应的下标

"""
for 变量1, 变量2 in enumerate(列表):
    循环体
变量1获取到的是每个元素的下标,变量2获取到的是每个元素
"""

for index, num in enumerate(movies):
    print(index, num)

d.通过遍历列表中每个元素的下标来间接的遍历元素

for i in range(6):
    print(movies[i])

for i in range(-1, -7, -1):
    print(movies[i])
# 练习:用一个列表保存一个班6个学生的成绩,计算整个班的总成绩
total = 0
scores = [78, 67, 52, 78, 99, 23]
for i in scores:
    total += i
print(total)

2)增 - 添加元素
a.列表.append(元素) - 在指定的列表的最后添加指定的元素

heroes = ['鲁班7号', '亚索', '卢锡安']
print(heroes)   # ['鲁班7号', '亚索', '卢锡安']

heroes.append('永恩')
print(heroes)   # ['鲁班7号', '亚索', '卢锡安', '永恩']

b.列表.insert(下标, 元素) - 在列表指定下标前插入元素

heroes.insert(1, '瞎子')
print(heroes)   # ['鲁班7号', '瞎子', '亚索', '卢锡安', '永恩']

3)删 - 删除元素
a.del 列表[下标] - 删除列表中指定下标对应的元素

masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿']
del masters[-1]
print(masters)   # ['貂蝉', '小乔', '甄姬', '王昭君']

b.列表.remove(元素) - 删除列表中指定的元素

masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿']
masters.remove('小乔')
print(masters)   # ['貂蝉', '甄姬', '王昭君', '上官婉儿']

# 如果元素不存在会报错
# masters.remove('庄周')   # ValueError: list.remove(x): x not in list
# 注意:如果被删除的元素有多个,只删最前面的那一个
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿', '貂蝉']
masters.remove('貂蝉')
print(masters)   # ['小乔', '甄姬', '王昭君', '上官婉儿', '貂蝉']

c.列表.pop() - 取出列表最后一个元素
列表.pop(下标) - 取出列表中指定下标对应的元素

masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿']

x = masters.pop()
print(masters)   # ['貂蝉', '小乔', '甄姬', '王昭君']
print(x)   # 上官婉儿
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿']
y = masters.pop(1)
print(masters)   # ['貂蝉', '甄姬', '王昭君', '上官婉儿']
print(y)   # 小乔

4)改 - 修改元素的值
列表[下标] = 新值 - 将列表指定下标对应的元素修改成新的值

teleplays = ['人名的名义', '甄嬛传', '纸牌屋', '绝命毒师', '请回答1988']
teleplays[0] = '山城棒棒军'
print(teleplays)   # ['山城棒棒军', '甄嬛传', '纸牌屋', '绝命毒师', '请回答1988']

猜你喜欢

转载自blog.csdn.net/bbbbbya/article/details/108818143