Python ---基础数据类型总结

基础数据类型

可哈希:int , str , tulpe , bool
不可哈希: list , dict , set
list :有序的,有索引,可切片。
dict : 无序的 key通过哈希运算决定value储存位置。
set : 无序的 不可重复的数据 。里面的元素是可哈希的。

数字类型int

数字类型
a = 100
print(a, type(a))
b = '100'
print(b, type(b))

100 <class 'int'>
100 <class 'str'>
数字取余
a = 10
b = 5
print(a % b) # 取余
0

字符串str

字符串拼接
a = 'li'
b = 'shi'
c = 'cheng'
print(a + b + c)
print('li' + 'shi' + 'cheng')
字符串可相乘
索引与切片
s = 'ABCDEFG'
print(s)

# 索引:
s1 = s[0]
print(s1)
s3 = s[-2]
print(s3)

# 切片:顾头不顾尾
s2 = s[0:3]
print(s2)
s4 = s[0:]
print(s4)

# 首::步长:
s5 = s[0:5:2]
print(s5)
s6 = s[4:]
print(s6)

# 倒序:步长为负:
s7 = s[4::-2]
print(s7)
s7 = s[::-1]
print(s7)
循环打印字符串
info = input('>>>')
for i in info:
    print(i)
isalpha (判断字母字符串)

如果字符串为字母字符串,则返回true,否则为false。

strip (首尾空白删除)
info = input('>>>').strip()   # a1b2c3 (不可变数据类型)
for i in info:      # 在for中数据类型不变,可变数据类型在循环时会发生改变
    if i.isalpha():   # 判断是否为字符
        info = info.replace(i, ' ')    # 将字符转化为空
        print(info)
l = info.split()   # 将字符串转化为列表
print(l)
print(len(l))   # 统计列表中元素的个数
bit_length(二进制长度)
i = 6
print(i.bit_length()) # 二进制长度

bool值

判断语句的时候使用

a = 4
b = 3
print(a > b)
True
print(type(True))
<class 'bool'>

列表

增 删 改 查 :
append (在结尾添加)
# 在结尾添加
liebiao = ['a', 'b', 'c', 'd']
liebiao.append('e')
print(liebiao)
insert (在索引之前插入)
# 在索引之前插入
liebiao = ['a', 'b', 'c', 'd']
liebiao.insert(2,'f')
print(liebiao)
extend (迭代追加元素)
# 通过从迭代中追加元素来扩展列表
liebiao = ['a', 'b', 'c', 'd']
xin = [1, 2, 3]   #拆分叠加
liebiao.extend(xin)
print(liebiao)
> ['a', 'b', 'c', 'd', 1, 2, 3]
xin = 'hello'   #拆分叠加
liebiao.extend(xin)
print(liebiao)
> ['a', 'b', 'c', 'd', 'h', 'e', 'l', 'l', 'o']
pop (索引中删除)
# 从索引中删除
liebiao = ['a', 'b', 'c', 'd']
test = liebiao.pop(2) 
print(test, liebiao)
c ['a', 'b', 'd'] # 有返回值
remove (删除列表中中元素)
# 删除元素
liebiao = ['a', 'b', 'c', 'd']
liebiao.remove('b')
print(liebiao)
clear
# 清空
liebiao = ['a', 'b', 'c', 'd']
liebiao.clear()
print(liebiao)
del (删除列表,切片删除)
liebiao = ['a', 'b', 'c', 'd']
del liebiao  # 删除列表
print(liebiao)

liebiao = ['a', 'b', 'c', 'd']
del liebiao[1:] # 切片删除
print(liebiao)
liebiao = ['a', 'b', 'c', 'd']
liebiao[1] = 'aSDdaD' # 修改列表中的单个索引
print(liebiao)

liebiao = ['a', 'b', 'c', 'd']
liebiao[1:2] = 'aSDdaD' # 切片拆分改
print(liebiao)
['a', 'a', 'S', 'D', 'd', 'a', 'D', 'c', 'd']
liebiao = ['a', 'b', 'c', 'd']
for i in liebiao:  # 逐个打印
    print(i)

a
b
c
d
	print(liebiao[2]) # 索引分片打印
['c', 'd']
len 对象(字符、列表、元组等)长度或项目个数
>>>str = "runoob"
>>> len(str)             # 字符串长度
6
>>> l = [1,2,3,4,5]
>>> len(l)               # 列表元素个数
5
count (查看字符串出现的次数)
liebiao = ['a', 'b', 'c', 'd']
print(len(liebiao)) # 查看容器中元素的数目
4
print(liebiao.count('b')) #查看元素出现的次数
1
index (查看索引)
print(liebiao.index('a')) # 查看索引
sort (排序)
liebiao = [2, 7, 4, 9, 6]  # 正序
liebiao.sort()
print(liebiao)

liebiao.sort(reverse=True) # 倒序
print(liebiao)
reverse (反转)
liebiao = [2, 7, 4, 9, 6]
liebiao.reverse() 
print(liebiao)
[6, 9, 4, 7, 2] # 反转
嵌套:

需要注意的一点:在对列表中的元素进行修改时,需放回到列表中

upper (全大写)
liebiao = ['lishicheng', 'wenhao']
i = liebiao[0].upper()  # 转换大写
capitalize (只有首字母大写)
liebiao = ['lishicheng', 'wenhao']
i = liebiao[0].capitalize() # 首字母大写,其余小写
liebiao[0] = i # 替换到列表中
replace (替换)
liebiao = ['liShiCheng', 'wenhao']
liebiao[0] = liebiao[0].replace('Cheng', liebiao[0].capitalize())
print(liebiao)  # 替换
['liShiLishicheng', 'wenhao']

元祖

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。(可循环查询、可切片;儿子可以改,孙子不能改)

yuanzu = ('a', 'b', 'c', 1, 2, 3, ['liShiCheng', 'wenhao'])
yuanzu[6][1] = yuanzu[6][1].upper()
print(yuanzu)

格式化输出

# 代码一
name = input("Name:")
info = '%s ,%s ,完成率%%3'%(name, name)
print(info)

代码一:如果正确输出%号,那么需要在添加一个%号。

# 代码二
info = '''---%s---
%s
完成率%%3
''' %(name, name)
# 这行的 % 号就是把前面的字符串与拓号后面的变量关联起来
print(info)
---lsc---
lsc
完成率%3

代码二:利用’’'号,设计好打印的格式

其他函数

isinstance (判断对象的类型)
liebiao = ['liShiCheng', 'wenhao']
a = isinstance(liebiao, list) # 判断对象的类型
print(a)
> True
type
liebiao = ['a', 'b', 'c', ['1', '2', '3'], 'e', 'f']
for i in liebiao:
    if type(i) == list:
        for a in i:
            print(a)
    else: 
        print(i)
join (列表转化成字符串)
s = 'hello'
s1 = '-'.join(s) # 将连接符放在各个字符之间(可迭代对象,字符串,裂变,元祖,集合)
print(s1)
h-e-l-l-o 
s = ['a', 'b', 'c']
s1 = '-'.join(s)
print(s1)
a-b-c # 列表转化成字符串
split (字符串转化成列表)
s = 'a,b,c' 
s1 = s.split() # 字符串转化成列表
print(s1)
['a,b,c']
range (数字列表)
for i in range(0,100): # 数字列表(顾头不顾尾)
    print(i)
1
2
3
.
.
99
for i in range(0, 10, -2):
    print(i) # 没有结果,不报错
for循环语句(打印列表及下级列表)
liebiao = ['a', 'b', 'c', ['1', '2', '3'], 'e', 'f']
for i in liebiao:
    if isinstance(liebiao , list):
        for a in i:
            print(a)
    else:
        print(i)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
liebiao = ['a', 'b', 'c', ['1', '2', '3'], 'e', 'f']
for i in liebiao:
    if type(i) == list:
        for a in i:
            print(a)
    else: 
        print(i)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
liebiao = ['a', 'b', 'c', ['1', '2', '3'], 'e', 'f']
for i in range(len(liebiao)):
    if type(liebiao[i]) == list:
        for j in liebiao[i]:
            print(j)
    else:
        print(liebiao[i])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值