python基本类型的操作

---------------------------字符串str---------------------------

1. 截取字符串
  • 获取单个字符,strname[index]
  • 获取多个字符,strname[start : end : step]
    start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
    end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
    step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。
2. 长度
  • len(string)
  • len(str1.encode()),len(str.encode(‘gbk’))将字符串进行编码后再获取它的字节数
    在 Python 中,不同的字符所占的字节数不同,数字、英文字母、小数点、下划线以及空格,各占一个字节,而一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。例如,汉字在 GBK/GB2312 编码中占用 2 个字节,而在 UTF-8 编码中一般占用 3 个字节
3. 分割字符串
  • str.split(sep,maxsplit),按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符)
    str:表示要进行分割的字符串;
    sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。
    maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1,则表示分割次数没有限制。
4. 合并字符串
  • newstr = str.join(iterable)
    newstr:表示合并后生成的新字符串;
    str:用于指定合并时的分隔符;
    iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供。
 list = ['c','biancheng','net']
 ','.join(list)
5. 统计字符串出现的次数
  • str.count(sub[,start[,end]])
    str:表示原字符串;
    sub:表示要检索的字符串;
    start:指定检索的起始位置,也就是从什么位置开始检测。如果不指定,默认从头开始检索;
    end:指定检索的终止位置,如果不指定,则表示一直检索到结尾。
str.count('.')
str.count('.',2)
str.count('.',2,-3)
6. 统计字符串出现的次数
  • str.find(sub[,start[,end]])
    str:表示原字符串;
    sub:表示要检索的目标字符串;
    start:表示开始检索的起始位置。如果不指定,则默认从头开始检索;
    end:表示结束检索的结束位置。如果不指定,则默认一直检索到结尾。
    str.find(’.’,2,-4)
    str.rfind(’.’) ,从字符串右边开始检索
  • str.index(sub[,start[,end]])
    当指定的字符串不存在时,index() 方法会抛出异常,其它同find方法
7. 替换方法

a.replace(‘word’ , ‘python’)

8. 对齐方法
  • S.ljust(width[, fillchar]),向指定字符串的右侧填充指定字符,从而达到左对齐文本的目的
    S:表示要进行填充的字符串;
    width:表示包括 S 本身长度在内,字符串要占的总长度;
    fillchar:作为可选参数,用来指定填充字符串时所用的字符,默认情况使用空格。
  • S.rjust(width[, fillchar]),向字符串的左侧填充指定字符,从而达到右对齐文本的目的
  • S.center(width[, fillchar]),文本居中
8. 以指定字符串开头或结尾
  • str.startswith(sub[,start[,end]]),以指定字符串开头,如果是返回 True;反之返回 False
    str:表示原字符串;
    sub:要检索的子串;
    start:指定检索开始的起始位置索引,如果不指定,则默认从头开始检索;
    end:指定检索的结束位置索引,如果不指定,则默认一直检索在结束。
  • str.endswith(sub[,start[,end]]),是否以指定字符串结尾,如果是则返回 True;反之则返回 False
9. 字符串大小写转换

str.title(),将字符串中每个单词的首字母转为大写,其他字母全部转为小写,转换完成后,此方法会返回转换得到的字符串
str.lower(),所有大写字母转换为小写字母
str.upper(),所有小写字母转换为大写字母

10. 去空格和特殊字符
  • strip():删除字符串前后(左右两侧)的空格或特殊字符。
  • lstrip():删除字符串前面(左边)的空格或特殊字符。
  • rstrip():删除字符串后面(右边)的空格或特殊字符。
    str 表示原字符串,[chars] 用来指定要删除的字符,可以同时指定多个,如果不手动指定,则默认会删除空格以及制表符、回车符、换行符等特殊字符
    这里的特殊字符,指的是制表符(\t)、回车符(\r)、换行符(\n)等
    str.strip()
    str.strip(" ,\r")
11. 拼接字符串

format()格式化输出方法详解

'asd{}ads{}'.format(1,2)

%号格式化字符串,
%s(代表一个字符串)、%d(代表一个整数)、%f(代表一个浮点数)

'%s %s' % ('Hello', 'world')

f-string方式,从Python3.6版本引入

name = 'world'
myname = 'python_cat'
words = f'Hello {name}. My name is {myname}'

---------------------------列表list---------------------------

1. 添加元素
  • listname.append(obj) 在列表的末尾追加元素
  • listname.extend(obj) 在列表的末尾追加元素,但不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中
  • listname.insert(index , obj) 将 obj 插入到 listname 列表第 index 个元素的位置
2.删除元素
  • del:根据索引值删除元素,del listname[index]删除列表中的单个元素,del listname[start :
    end]可以删除中间一段连续的元素,其中,start 表示起始索引,end 表示结束索引。del 会删除从索引 start 到 end
    之间的元素,不包括 end 位置的元素。
  • pop():根据索引值删除元素,listname.pop(index)
  • remove():根据元素值进行删除,listname.remove(value)
  • clear():删除列表所有元素
3.修改元素
  • 修改单个元素,nums[2] = 26
  • 修改一组元素,nums[1: 4] = [45,
    22],不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。
  • 对空切片(slice)赋值,就相当于插入一组新的元素,nums[4: 4] = [77, 99],在索引为4的位置插入
  • 使用切片语法时也可以指定步长(step 参数),但这个时候就要求所赋值的新元素的个数与原有元素的个数相同,nums[1: 6: 2] =
    [25, 99, 20]
4.查找元素
  • index() 方法,listname.index(obj, start, end),如果该元素不存在,则会导致 ValueError
    错误
    obj 表示要查找的元素,start 表示起始位置,end 表示结束位置
    start 和 end 可以都不写,此时会检索整个列表;
    如果只写 start 不写 end,那么表示检索从 start 到末尾的元素;
    如果 start 和 end 都写,那么表示检索 start 和 end 之间的元素。

  • count()方法,listname.count(obj)
    count() 方法用来统计某个元素在列表中出现的次数,如果 count() 返回 0,就表示列表中不存在该元素

5.遍历
list = ['html', 'js', 'css', 'python']
  • 遍历值
for i in list:
	print('值=%s' % i)
  • 遍历下标
for i in range(len(list)):
	print ("序号:%s   值:%s" % (i + 1, list[i]))
  • 遍历值和下标
for i, val in enumerate(list):
	print ("序号:%s   值:%s" % (i + 1, val))

#设置遍历开始初始位置,只改变了起始序号
for i, val in enumerate(list, 2):
	print ("序号:%s   值:%s" % (i + 1, val))

---------------------------字典dict---------------------------

1.特征
  • 无序的、可变的序列
  • 通过键而不是通过索引来读取元素
  • 字典是可变的,并且可以任意嵌套
  • 字典中的键必须唯一,不支持同一个键出现多次,否则只会保留最后一个键值对
  • 字典中的键必须不可变,只能使用数字、字符串或者元组,不能使用列表
2.创建
  • dictname = dict()
  • dictname = {}
  • 通过 fromkeys() 方法创建, dictname = dict.fromkeys(list,value=None)
    list 参数表示字典中所有键的列表(list);value 参数表示默认值,如果不写,则为空值 None
3.访问
  • dictname[key],注意,键必须是存在的,否则会抛出异常
  • dictname.get(key[,default]),键不存在返回None或default值
4.删除
  • d.pop(‘Bob’), 删除一个key,对应的value也会从dict中删除
  • d.popitem(),随机删除一个键值对
  • del d
5.是否存在指定键值对
if key in d
6.keys()、values() 和 items() 方法
  • keys() 方法用于返回字典中的所有键(key);
  • values() 方法用于返回字典中所有键对应的值(value);
  • items() 用于返回字典中所有的键值对(key-value)。
  • keys()、values() 和 items() 返回值的类型分别为 dict_keys、dict_values 和
    dict_items。转为list,b = list(a.keys())
7.update() 方法
  • update() 方法可以使用一个字典所包含的键值对来更新己有的字典。
a = {'one': 1, 'two': 2, 'three': 3}
a.update({'one':4.5, 'four': 9.3})
8.遍历
d = {'a': '1', 'b': '2', 'c': '3'}
  • 遍历key,效率高
for key in d:
       print(key+':'+a[key])
  • 遍历value值
for value in a.values():
       print(value)
  • 遍历字典项
for kv in a.items():
       print(kv)
  • 遍历key和value,效率低
#利用items遍历字典的key和value
for key,value in a.items():
       print(key+':'+value)

#利用枚举遍历字典的索引和key
for key, value in enumerate(dict):
    print key, value

---------------------------流程控制---------------------------

1. if语句
  • 语法
if 表达式 1:
    代码块 1
elif 表达式 2:
    代码块 2
else:
    代码块 n
  • 表达式真假
    布尔类型(bool)只有两个值,分别是 True 和 False
    对于数字,Python 会把 0 和 0.0 当做“假”,把其它值当做“真”
    对于其它类型,当对象为空或者为 None 时,Python 会把它们当做“假”,其它情况当做真
    比如,下面的表达式都是不成立的:
    “” #空字符串
    [ ] #空列表
    ( ) #空元组
    { } #空字典
    None #空值
2. while语句
num = 1
while num < 100 :
    print("num=", num)
    num += 1
print("循环结束!")
3. for语句
for 迭代变量 in 字符串|列表|元组|字典|集合:
    代码块
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值