字符串字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。1.创建字符串

str1 = 'Hello World!'
str2 = "Hello World!"

2.访问字符串

str = "菜J学Python"
print(str)
print(str[0])
print(str[0:3])
print(str[1:7:2]) #[起始位置:结束位置:步进值]
print(str[:5])
print(str[5:])

3.连接字符串

print(str + ",你好") #字符串连接,使用+
print(str * 5) #连续打印5次

4.字符串转义符

当需要在字符中使用特殊字符时,Python用反斜杠 \ 转义字符。

常用转义字符 描述
\(在行尾时) 续行符
\' 单引号
\"‍‍ ‍‍双引号
\n‍ ‍换行
\t 横向制表符

5.字符串运算符

常用运算符 描述
+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中字符
[ : ] 截取字符串中的一部分
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True

5.格式化字符串

常用符号 描述
%s 格式化字符串
%d 格式化整数
%c 格式化字符及其ASCII码

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

6.字符串内建函数

常用方法 描述
string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
string.endswith(obj, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
string.decode(encoding='UTF-8', errors='strict') 以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'‍‍‍
string.encode(encoding='UTF-8', errors='strict') 以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
string.format() 格式化字符串
string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
string.join(seq) ‍‍以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串‍‍
string.replace(str1, str2,  num=string.count(str1)) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.‍‍‍
string.split(str="", num=string.count(str)) 以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串
string.strip([obj]) 删除字符串前后空格

‍‍‍‍‍‍‍‍‍‍

列表列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。1.列表:创建

list = [] #定义空列表
list1 = ["小张","小王","小李"]
list2 = [1,"菜J学Python"] #列表中可以存储混合类型

2.列表:访问

list1 = ["小张","小王","小李"]  #for循环遍历获取列表数据for list in list1:
    print(list)'''
list1 = ["小张","小王","小李"]  #while循环遍历获取列表数据
length = len(list1)
i = 0
while i    print(list1[i])
    i += 1
'''

3.列表:增

#列表:增append,extend,insert'''
list1 = ["小张","小王","小李"]
print("---增加前列表数据----")
for list in list1:
    print(list)
addname = input("请输入添加的学生姓名:")
list1.append(addname)     #append为在末尾追加一个元素
print("---增加后列表数据----")
for list in list1:
    print(list)
''''''
a = [1,2]
b = [3,4]
a.append(b) #将列表当做一个元素加入到列表中
print(a)
a.extend(b) #将列表中的每个元素逐一追加到列表中
print(a)
''''''
a = [0,1,2]
a.insert(1,3) #指定下标位置1插入元素3
print(a)
'''

4.列表:删

#列表:删del,pop,remove'''
list1 = ["小张","小王","小李"]
print("---删除前列表数据----")
for list in list1:
    print(list)
#del list1[2]    #del为在指定位置删除一个元素
#list1.pop()     #pop为弹出末尾最后一个元素
#list1.remove("小张") #remove直接删除指定内容的元素(如有重复只删除第一个)
print("---删除后列表数据----")
for list in list1:
    print(list)
'''

5.列表:改

#列表:改'''
list1 = ["小张","小王","小李"]
print("---删除前列表数据----")
for list in list1:
    print(list)
list1[2] = "小潘" #指定下标修改
print("---删除后列表数据----")
for list in list1:
    print(list)
'''

6.列表:查

#列表:查in\not in'''
list1 = ["小张","小王","小李"]
findname = input("请输入你要查找的姓名")
if findname in list1:
    print("在名单中找到了你查找的姓名")
else:
    print("没有找到")
''''''
list = ["a","b","c","a","b"]
print(list.index("a",1,4))  #可以查找指定下标范围的元素,并返回找到对应数据的下标
print(list.index("a",1,3))  #因为范围区间左闭右开【1,3),找不到会报错
''''''
list = ["a","b","c","a","b"]
print(list.count("a")) #统计元素出现的次数
'''

6.列表:其他

#列表:排序与反转sort\reverse'''
a = [1,4,2,3]
print(a)
a.reverse() #将列表所有元素反转
print(a)
a.sort() #升序
print(a)
a.sort(reverse=True) #降序
print(a)
'''#列表:嵌套 list=[[],[],[]]'''
schoolname = [["北京大学","清华大学"],["南开大学","天津大学","天津财经大学"],["山东大学","中国海洋大学"]]
print(schoolname[0])
print(schoolname[0][0])
'''#列表:使用枚举函数enumerate,同时拿到列表中的下标和元素内容'''
mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
    print(i+1,x)
'''#列表:将8人中的任意三个人随机分配到3个办公室'''
import random
offices = [[],[],[]]
names = ["A","B","C","D","E","F","G","H"]
for name in names:
    index = random.randint(0,2)  #注意这是左闭右闭
    offices[index].append(name)
i = 1
for office in offices:
    print("办公室%d的人数为:%d"%(i,len(office)))
    i +=1
    for name in office:
        print("%s"%name,end="\t")
        print("\n")
        print("-"*28)
'''

元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号。

1.元组:创建

#元组:创建tup1 = () #创建空元组tup2 = (50)tup3 = (50,)tup4 = (50,60,70)

2.元组:访问

#元组:访问
tup1 = ("abc","def",2000,3000,333,444,555)
print(tup1[0])
print(tup1[-1]) #访问最后一个元素
print(tup1[1:5]) #左闭右开,进行切片

3.元组:增

#元组:增(连接)
tup1 = (12,34,56)
tup2 = ("abc","xyz")
tup = tup1 + tup2
print(tup)

4.元组:删

#元组:删
tup1 = (12,34,56)
print(tup1)del tup1 #删除了整个元组变量
print("删除后:")
print(tup1)

5.元组:改(不允许)

字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value对用冒号 :分割,每个键值对之间用逗号 ,分割,整个字典包括在花括号 {}中。1.字典:创建

info = {"name":"菜J学Python","age":18}

2.字典:访问

print(info["name"])
print(info["age"])
print(info["gender"]) #直接访问不存在的键,会报错
print(info.get("gender")) #使用get方法,没有找到对应的键,默认返回:None
print(info.get("gender","m")) #使用get方法,没有找到对应的键,返回:m

3.字典:增

#字典:增
info = {"name":"吴彦祖","age":18}
newID = input("请输入新的学号:")
info["id"] = newID
print(info["id"])
print(info)

4.字典:删

#字典:删del\clear清空)'''
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info["name"])
del info["name"] #删除了键值对
print("删除后:%s"%info["name"]) #删除了指定键值对后,再次访问会报错
''''''
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info)
del info #删除了字典
print("删除后:%s"%info) #删除了指定键值对后,再次访问会报错
''''''
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info)
info.clear()
print("删除后:%s"%info)
'''

5.字典:改

#字典:改
info = {"name":"吴彦祖","age":18}
info["age"] = 20
print(info["age"])

6.字典:查

#字典:查
info = {"id":1,"name":"吴彦祖","age":18}
print(info.keys())    #得到所有的键(列表)
print(info.values())  #得到所有的值(列表)
print(info.items())   #得到所有的项(列表),每个键值对是一个元组

7.字典:其他

#字典:遍历键'''
info = {"id":1,"name":"吴彦祖","age":18}
for key in info.keys():
    print(key)
'''#字典:遍历值'''
info = {"id":1,"name":"吴彦祖","age":18}
for value in info.values():
    print(value)  
'''#字典:遍历所有的键值对'''
info = {"id":1,"name":"吴彦祖","age":18}
for key,value in info.items():
    print("key=%s,value=%s"%(key,value))
'''

集合

#集合
x = set([1,2,3])   #set类似dict,但仅是key的集合,不存储value
print(x)
y = set([1,1,2,2,3,3])   #set中重复元素会被过滤
print(y)

结语

欢迎关注菜J学Python,敬请期待下篇。

往期回顾

  1. 实战|Python轻松实现动态网页爬虫(附详细源码)
  2. 实战|Python轻松实现地图可视化(附详细源码)
  3. 实战|Python轻松实现PDF格式转换(附详细源码)
  4. 实战|Python轻松实现批量图片文字识别(附详细源码)
  5. 实战|手把手教你用Python爬虫(附详细源码)
  6. 实战|Python轻松实现绘制词云图(附详细源码)
  7. 实战|Python爬虫并用Flask框架搭建可视化网站

  8. 实战|Python六行代码实现多个Excel合并

  9. 基础/Python常用知识点汇总(上)

list python 访问 键值对_基础|Python常用知识点汇总(中)相关推荐

  1. list python 访问 键值对_学完Python,我决定熬夜整理这篇总结...

    作者:Caso_卡索 来源:http://suo.im/5wzRqt 一.了解Python 1.Python之父 Guido Van Rossum,一位荷兰程序员,在1989年圣诞节编写了Pyhon语 ...

  2. python列表中的字典如何添加键值对_在Python中将键值对添加到字典中

    Python字典是键值对的无序集合.在本教程中,我们将看到如何将新的键值对添加到已经定义的字典中.以下是我们可以使用的两种方法. 将新键分配为下标 我们通过使用新键作为下标并为其分配值来向字典添加新元 ...

  3. python 字典键值重复_浅谈python字典多键值及重复键值的使用

    在python中使用字典,格式如下: dict={ key1:value1 , key2;value2 ...} 在实际访问字典值时的使用格式如下: dict[key] 多键值 字典的多键值形式如下: ...

  4. python3 循环写入一对多键值对_为什么Python 3.6以后字典有序并且效率更高?

    在Python 3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面. 但是从Python 3.6开始,字典是变成 ...

  5. python字典按键值排序_在Python中按键或值按升序和降序对字典排序

    python字典按键值排序 Problem Statement: Write a Python program to sort (ascending and descending) a diction ...

  6. python惰性求值效果_让Python中类的属性具有惰性求值的能力

    起步 我们希望将一个只读的属性定义为 property 属性方法,只有在访问它时才进行计算,但是,又希望把计算出的值缓存起来,不要每次访问它时都重新计算. 解决方案 定义一个惰性属性最有效的方法就是利 ...

  7. python字典返回键值对_从Python字典对象中提取键值对的子集?

    好吧,这件事让我困扰了几次,所以谢谢你Jayesh的提问. 上面的答案看起来像任何一个好的解决方案,但如果你在你的代码中使用这个,那么包装功能恕我直言是有意义的. 此外,这里有两种可能的用例:一种是您 ...

  8. python无返回值函数_理解Python 中无返回值函数的问题

    例如 list 的 append 操作就是无返回值的,换句话说就是不能进行形如 list = [] list.append(1).append(2) 这样的连续操作 注意函数返回的数据类型注意是 li ...

  9. php数组foreach循环添加键值对_在PHP的foreach循环中插入一个$key作为变量

    我有这个数组: $lista_agregados = array('po' => '0', 'brita' => '0'); 而这些数组: $po = array(0 => arra ...

最新文章

  1. 无法使用xcode打出ipa包的解决方法
  2. python中的成员运算符_在Python中使用成员运算符的示例
  3. selenium 等待页面加载完成
  4. java基础—方法重载(overload)
  5. C语言学习笔记---字符读取函数scanf()、gets()、fgets()
  6. 三月提示:提防挂马网站 关注账号安全
  7. Openstack Python 源代码的路径
  8. 三菱fx2n做从站的modbus通讯_三菱FX2N与昆仑通态(MCGS)无线编程口通讯例程
  9. 词汇的积累与遣词造句 —— 准确的表达、新鲜的词汇
  10. Ubuntu下自定义调整CPU工作频率(用于省电或提高性能都好用)
  11. win7上python2.7连接mysql数据库
  12. 计算机管理能看到移动硬盘,无法识别移动硬盘并且不显示磁盘图标.
  13. 利用指针作为游标,编写程序完成将输入字符串复制到一个字符数组中,要求每复制三个字符之后插入一个空格。 例如,若给a输入字符串:ABCDEFGHKIJK,字符数组中的内容为:ABC DEF GH
  14. org.postgresql.util.PSQLException: ERROR: column loginid of relation userinfo does not exist
  15. C++/MFC修行之路(5)Ribbon(功能区)的使用
  16. NAS与SAN的区别
  17. 对Baiduseoguide网站排名的原因分析
  18. 【2D多目标跟踪】Quasi-Dense Similarity Learning for Multiple Object Tracking阅读笔记
  19. 灾难恢复_有效的灾难恢复计划的10个技巧
  20. 360html格式转换word,将Word文档转化为HTML格式的文档

热门文章

  1. mysql读取和写入的峰值_计算MySQL的内存峰值公式
  2. 头条限流是什么原因_抖音号被限流是因为什么原因?
  3. linux控制台编辑模式下换行,linux控制台命令的换行识别问题
  4. python怎么设置界面的背景音乐_PyQt5图形界面播放音乐的实例
  5. 兼容 .NET Core3.0, Natasha 框架实现 隔离域与热编译操作
  6. poj2464扫描线好题,树状数组解法
  7. 数据类型及其基本操作
  8. 一次性上传多个文件到服务器端(一)
  9. BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )
  10. C#父类与子类(多态性)