小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

python字符,编码,集合简介

Python,python,list 额外说明

收录于:22天前

字符串和编码

# str,bytes是基本数据类型,python3默认utf-8编码
# bytes数据自带b前缀
print(type("你好"))
print(type(b'abc'))

# encode是编码格式,decode是解码格式
print("你好".encode('utf-8'))
print(b'abc'.decode('utf-8'))
<class 'str'>
<class 'bytes'>
b'\xe4\xbd\xa0\xe5\xa5\xbd'
abc
#encode和decode用于字符和字节的转换
# 内置函数len()查看字符串长度
print(len('你好'))

#python字符格式化输出和c一样,在字符串内部,%s表示用字符串替换,%d表示用整数替换,%运算符就是用来格式化字符串的。

print('你好%s,你的积分为%d'%("zhansgan",50))

""" %d 整数 %f 浮点数 %s 字符串 %x 十六进制整数 """
2
你好zhansgan,你的积分为50





'\n%d\t整数\n%f\t浮点数\n%s\t字符串\n%x\t十六进制整数\n'
#format格式化字符串
#format()方法,会用传入的参数依次替换字符串内的占位符{0}、{1}...
print('你好{0},你的积分是{1}'.format('zhangsan',50))
你好zhangsan,你的积分是50
# f-string方法替换变量
#使用以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换

name='zhansan'
score=50
print('你好,{name}你的积分是{score}')
# f-string
print(f'你好,{
      name}你的积分是{
      score}')
你好,{name}你的积分是{score}
你好,zhansan你的积分是50

字符常用函数

  • 默认情况下删除空白字符

删除首尾字符:str.strip()
删除首字符:str.lstrip()
删除尾字符:str.rstrip()

  • 判断是否匹配第一个和最后一个字符

匹配成功返回True,否则返回False
匹配首字符:str.startswith(char)
匹配末字符:str.endswith(char)

  • 搜索字符,如果找到则返回字符位置,否则返回-1

字符串查找:str.find(char)

  • 分解字符

分割字符:str.split([sep)

  • 连字符

str.join(iterable),“str”是连接字符,“iterable”是被连接的可迭代字符串
最原始的字符串连接方式:str1 + str2
python 新字符串连接语法:str1, str2

  • 替换字符

str.replace(old, new),返回替换后的字符串,默认所有的字符都被替换

  • 按换行符分解字符串,返回行列表

str.splitlines([keepends]),结果不保留换行符,除非keepends为True。

  • 大小写转换

大小写互换:str.swapace()
转换为大写:str.upper()
转换为小写:str.lower()

分支与循环

# 分支是if,elif,else代码块遵循缩进规则
a=input()
score=int(a)
if score < 60:
    print("fail")
elif  60 <= score <80:
    print("pass")
elif 80<= score <=90:
    print("good")
else:
    print("great")
70
pass
''' if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> '''
# for 循环
# for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。
for var in range(1,5):
    print(var,end=",")
1,2,3,4,
# while循环
#条件满足,就循环,条件不满足时退出循环
index=5
while index>=1:
    print(index,end=" ")
    index=index-1
5 4 3 2 1 
''' break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环 '''

集合

列表

# list [] 是一种有序的集合,可以随时添加和删除其中的元素 
user_lists=['zhansan','lihua','xiaoming']
print(user_lists)

# 内置len()查看长度,下标访问,切片截取片段

print('长度:',len(user_lists))

print(user_lists[0])

print(user_lists[0:2])
['zhansan', 'lihua', 'xiaoming']
长度: 3
zhansan
['zhansan', 'lihua']
# append(value)追加,
# insert(index,value)插入,
# pop()删除末尾,
# pop(index)删除指定位置,
# remove(value)删除指定元素
# 下标替换

numbers=[1,2,3,4,5,6,7,8,9]
print("元数据",numbers)
numbers.append(10)
print("追加,",numbers)
numbers.insert(0,11)
print("插入,",numbers)
numbers.pop()
print("尾部删除",numbers)
numbers.pop(5)
print("索引删除",numbers)
numbers[6]="number"
print("替换",numbers)
numbers.remove("number")
print("元素删除",numbers)
元数据 [1, 2, 3, 4, 5, 6, 7, 8, 9]
追加, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
插入, [11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
尾部删除 [11, 1, 2, 3, 4, 5, 6, 7, 8, 9]
索引删除 [11, 1, 2, 3, 4, 6, 7, 8, 9]
替换 [11, 1, 2, 3, 4, 6, 'number', 8, 9]
元素删除 [11, 1, 2, 3, 4, 6, 8, 9]

list.extend(list)方法将参数集合的所有元素添加要新集合:a.extend(b)
list.index(x)方法返回链表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。
``list.count(x)返回 x 在链表中出现的次数。list.sort()对链表中的元素就地进行排序。list.reverse()```倒叙列表中的元素。

元组

# tuple () 是list的特殊形式,初始化后就不能修改了,只提供访问功能

user=("zhansna","lihua","wangwu")
print(user[1])
print(user[0:2])
lihua
('zhansna', 'lihua')

收集

# set集合无序,不重复
user_set=set()

# add 添加
user_set.add("zhansna")
user_set.add("lihua")
print(user_set)
# remove 删除
user_set.remove("lihua")
print(user_set)

{'lihua', 'zhansna'}
{'zhansna'}

字典

# dict {} dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

d = {
    'Michael': 95, 'Bob': 75, 'Tracy': 85}


# get(key) 获取值
d.get('Bob')
print(d)
# pop(key) 删除值
d.pop('Bob')
print(d)
# 使用key来修改和添加
d["Bob"]=80
d["New"]='new'
print(d)
{'Michael': 95, 'Bob': 75, 'Tracy': 85}
{'Michael': 95, 'Tracy': 85}
{'Michael': 95, 'Tracy': 85, 'Bob': 80, 'New': 'new'}
D.get(key, 0)       #同dict[key],多了个没有则返回缺省值,0。[]没有则抛异常
D.has_key(key)      #有该键返回TRUE,否则FALSE
D.keys()            #返回字典键的列表
D.values()          #以列表的形式返回字典中的值,返回值的列表中可包含重复元素
D.items()           #将所有的字典项以列表方式返回,这些列表中的每一项都来自于(键,值),但是项在返回时并没有特殊的顺序 
D.update(dict2)     #增加合并字典
D.popitem()         #得到一个pair,并从字典中删除它。已空则抛异常
D.clear()           #清空字典,同del dict
D.copy()            #拷贝字典
D.cmp(dict1,dict2)  #比较字典,(优先级为元素个数、键大小、键值大小)
                    #第一个大返回1,小返回-1,一样返回0
           
dictionary的复制
dict1 = dict        #别名
dict2=dict.copy()   #克隆,即另一个拷贝。
. . .

相关推荐

额外说明

leetcode435(无重叠间隔:贪心算法)

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 例: 输入: [ [1,2], [2,3], [3,4], [1,

额外说明

ThreadLocal常见面试题剖析

ThreadLocalMap 和HashMap区别 HashMap 的数据结构是数组+链表 ThreadLocalMap的数据结构仅仅是数组 HashMap 是通过链地址法解决hash 冲突的问题 ThreadLocalMap 是通过开放地址法来解决ha

额外说明

【Unity3D编辑器扩展】Unity3D中实现SVN功能

推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在日常开发中,常常会用到SVN或者Git作为项目版本协

额外说明

【Unity3D插件】AnyPortrait插件分享《(一)制作史莱姆动画》

推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 AnyPortrait是

额外说明

哈希表(散列表)详解

-**今天的每一秒都是珍贵的,因为它永远不会再次出现。**- -作者:不能再留遗憾了- -专栏:Java学习- -本文章主要内容:深入理解哈希表(散列表),散列函数的几种构造方法以及解决哈希冲突的方法。- 文章目录 前言 什么是哈希表 哈希表相对于其他的

额外说明

实战OAUTH 2.0授权机制

OAUTH 2.0简介 OAUTH 2.0是现在业界流行的认证授权方式,用户可以授权应用程序在不提供用户的密码的场景下,可以遵循OAUTH的规范来申请获取访问服务器的用户相关资源的权限。OAUTH 2.0的规范和流程还是比较难理解的,因此我用Keyclo

额外说明

你只管提问,剩下的就交给星火吧。。。

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 -- 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通 - 2. 毕业设计专栏,毕业季咱们不慌忙,几百款毕业设计等你选。

额外说明

《基于 Vue 组件库 的 Webpack5 配置》1.模式 Mode 和 vue-loader

一定要配置 模式 Mode,这里有个小知识点,环境变量 process.env.NODE_ENV module.exports = { mode: 'production',// process.env.NODE_ENV 或 developme

额外说明

十一、Pod的健康检查-探针

Pod 的健康检查-探针 一、Pod 的健康检查-探针 1.1、探针基本概念 ​探针是由 kubelet 对容器执行的定期诊断。要执行诊断,kubelet 调用由容器实现的 Handler 有三种类型的处理程序: ​1、ExecAction: 在容器内执

ads via 小工具