python substr_python数据分析-数据对象(一)

20555dff444b1e833ddf498b1ee85d1a.png

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。

  • 不可变(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变(3 个)List(列表)、Dictionary(字典)、Set(集合)

数字

Python3 支持 int、float、bool、complex(Python 3只有一种整数类型 int,表示为长整型,没有 python2 中的 Long)

a

数字的运算在‘基础认识’部分有介绍,这里不在过多描述。

String-字符串

字符串通常是由单引号或者双引号来标识的,字符串是由独立的字符组成的,且可通过切片操作顺序地访问。

str1 = 'hello'
str2 = 'python'

字符串拼接

str1 + str2

切片、索引

str1[1]
str2[1:3]

大小写转换

str1.lower()
str2.upper()

判断是以X开头/结尾

str1.startswith('he')
str2.endswith('lo')

分割字符串

str3 = "I am a good boy!"
str3.split(" ")  # 采用空格进行分割
['I', 'am', 'a', 'good', 'boy!']
str3.split(" ", 3)  # 采用空格进行分割,并且只分割前3个
['I', 'am', 'a', 'good boy!']

计数

str3.count('o')  # 3

查找字符串

str1.find('lo')  # str.find(substr,start,end) 查找指定字符串,查到返回位置索引,找不到返回-1
str2.index('lo') # 与find一样,但是查不到会报异常,ValueError:substring is not found


去除字符串中的空格和特殊字符

str1.strip([chars]) :去除字符串前后(左右侧)的空格或特殊字符
str2.lstrip([chars]):去除字符串前面(左侧)的空格或特殊字符
str3.rstrip([chars]):去除字符串后面(右侧)的空格或特殊字符

替换

str1.replace('you','her')  # 把you替换为her

连接字符串

s='_'
li=['L','O','V','E']
s.join(li)  # 'L_O_V_E'

List-列表

列表是python中非常重要的数据对象,[]来表示和创建,里面元素可以是int型、string型,或者混合型,甚至是另一个列表。列表是长度可变的有序表,元素可重复。

创建列表

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]

访问列表

list2[1:5]

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

len

增添(append、insert、extend)

# append 一般在后面追加一个元素
language=['c','c#','java','python']
language.append('R')  # 插入一个元素
# extend 一般增加一个列表
language.extend(['go','R'])  # 插入一个列表
# insert指定位置插入
language.insert(1,'R')
language.insert(2,['go','sql'])

删除(pop、remove、del)

# pop 列表尾部删除元素、或者指定索引位置删除元素,并返回删除值
s1=language.pop() 
s2=language.pop(1)
# del 指定索引位置删除元素
del language[1]
# remove 删除列表中特定元素
language.remove('java')
# clear方法清空列表元素
language.clear()

# 注意:如果是从A列表删除B列表的元素,可以借助in和remove循环删除。

修改

# 修改,先找到元素的位置索引,然后再用赋值就可以了
language=['c','c#','java','python']
language[2]='R'

查询

# 索引查看、循环输出、切片查看
language[1]
language[1:3]
for l in language:
    print(l)

# 包含 in ,not in,index, count
'c' in language
'c' not in language
language.index('python') # Return first index of value.or ValueError:'python' is not in list
language.count('c') # 统计出现次数,不存在返回0

# min、max
min(list2)
max(list2)

排序(sort排序、reserve逆序)

l1=[2,3,9,5,1,7,0]
l1.sort(reverse=True)
l1.reverse()

l2 = l1[::-1]  # 逆序

列表生成式

# 生成一个列表,元素是1~10的平方
# 法1 :循环生成
list3=[]
for i in range(1,11):
    list3.append(i**2)

# 法2 :列表生成式 [表达式 for i in 序列]
[i**2 for i in range(1,11)]
[i*j for i in range(1,100) for j in range(1,i) if i>=j]
[x**2 for x in range(1,11) if x%3==0]
[m+n for m in 'ABC' for n in 'abc']

过滤列表

# 方式1:filter函数
num_list=[1, 2, 3, 4, 5, 6, 7, 8]
def filter_above3(num):
    return num>=3
# filter()接受的第一个参数是函数对象,第二个参数是可迭代的对象
filtered=filter(filter_above3, num_list)  
filtered_list=list(filtered)

# 方式2:列表生成式
filtered_list=[num for num in num_list if num>=3] 

整体修改列表

# 方式1:map函数
def square(num):
    return num**2
# map()函数使得我们可以将某个函数应用到可迭代对象内每一个元素之上
squares=map(square, num_list)
squares_list=list(squares)

# 方式2:列表生成式
squares_list=[num**2 for num in num_list]

组合列表

# zip()函数接收多个列表作为参数传入,进而得到每个位置上一一对应的元素组合

该篇文章主要讲了数字、字符串以及列表的相关操作,下节将继续记录后面三种数据类型。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值