Python基础----字符串、列表、元组、字典
- 单引号和双引号如何选择?
- 字符串的截取和连接
- 列表的定义
- 列表的访问
- 常用操作
- 元组的定义
- 元组的访问
- 常用操作
- 字典的定义
- 字典的访问
- 常用操作
字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。
创建字符串只要为变量分配一个值即可。例如:
str1 = 'Hello World!' #字符串
str2 = "Runoob" #句子
str3 = """
这是一个段落
段落
""" #段落
单引号和双引号如何选择?
1、包含单引号的字符串
假如你想定义一个字符串my_str,其值为:I’m a student,则可以采用如下方式,通过转义字符\进行定义。
也可以不使用转义字符,利用双引号直接进行定义。
2、包含双引号的字符串
假如你想定义一个字符串my_str,其值为:Jason said “I like you”,则可以采用如下方式,通过转义字符\进行定义。
my_str = "Jasonsaid\"Ilikeyou\""
也可以不使用转义字符,利用单引号直接进行定义。
my_str = 'Jasonsaid"Ilikeyou"'
字符串的截取和连接
str='chengdu'
print(str) #输出字符串
print(str[0:-1]) #输出第一个到倒数第二个的所有字符
print(str[0]) #输出字符串第一个字符
print(str[2:5]) #输出从第三个开始到第五个的字符
print(str[2:]) #输出从第三个开始后的所有字符
print(str*2) #输出字符串两次
print(str+'你好') #连接字符串
print(str[:5]) #输出第五个字母前的所有字符
print(str[0:7:2]) #[起始:终止:步长]
print('hello\nchengdu') #使用反斜杠(\)+n转义特殊字符
print(r'hello\npython') #在字符串前面添加一个r,表示原始字符串,不会发生转义
列表
列表的定义
序列是 Python 中最基本的数据结构。
序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
Python 有 6 个序列的内置类型,但最常见的是列表和元组。
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
比C语言的数组强大的地方在于列表中的元素可以是不同类型的
列表的访问
namesList=['xiaoWang','xiaoZhang','xiaoHua']print(namesList[0])
print(namesList[1])
print(namesList[2])
列表的循环遍历
为了更有效率的输出列表的每个数据,可以使用循环来完成
namesList=['xiaoWang','xiaoZhang','xiaoHua']
fornameinnamesList:
print(name)
常用操作
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用 append() 方法来添加列表项,如下所示:
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
以上实例输出结果:
第三个元素为 : 1997
更新后的第三个元素为 : 2001
更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)
以上实例输出结果:
原始列表 : ['Google', 'Runoob', 1997, 2000]
删除第三个元素 : ['Google', 'Runoob', 2000]
列表的嵌套
列表嵌套,类似while循环的嵌套,列表也是支持嵌套的
一个列表中的元素又是一个列表,那么这就是列表的嵌套
schoolNames=[['北京大学','清华大学'],
['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']]
元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
元组的定义
创建空元组
tup1=(50) #不加逗号,类型为整型#输出<class'int'>
print(type(tup1))
tup1=(50,) #加逗号,类型为元组#输出<class'tuple'>
print(type(tup1))
元组的访问
tup1=('Google','baidu',2000,2020)
tup2=(1,2,3,4,5,6,7)
print("tup1[0]:",tup1[0])
print("tup2[1:5]:",tup2[1:5])
常用操作
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
tup1=(12,34.56)
tup2=('abc','xyz')
#以下修改元组元素操作是非法的。#tup1[0]=100
#创建一个新的元组
tup3=tup1+tup2
print(tup3)
删除元组后,再次访问会报错
tup=('Google','baidu',2000,2020)
print(tup)
deltup
print("删除后的元组tup:")
print(tup)
字典
字典的定义
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
info={'name':'班长','id':100,'sex':'f','address':'地球亚洲中国北京'}
- 字典和列表一样,也能够存储多个数据列表中找某个元素时,是根据下标进行的
- 字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、‘id’、‘sex’)
- 字典的每个元素由2部分组成,键:值。例如’name’:‘班长’ ,'name’为键,'班长’为值
字典的访问
根据键访问值
info={'name':'吴彦祖','age':18}
print(info['age'])#获取年龄
#print(info['sex'])#获取不存在的key,会发生异常
print(info.get('sex'))#获取不存在的key,获取到空的内容,不会出现异
若访问不存在的键,则会报错:
info['sex']
Traceback(mostrecentcalllast):
File"<stdin>",line1,in<module>
KeyError:'sex'
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:
>>>age=info.get('age')
>>>age#'age'键不存在,所以age为None
>>>type(age)
<type'NoneType'>
>>>age=info.get('age',18)#若info中不存在'age'这个键,就返回默认值18 >>>age
18
常用操作
遍历字典
通过for循环,只能获取key:
forkey in dict1:
print(key, dict1[key])
配合items方法,获取key和val:
forkey in dict1:
print(key, dict1[key])
直接获取所有key和value:
print(dict1.values())
print(dict1.keys())
新增键值对
直接新增:dict1[‘小李'] =2005
字典元素的删除
通过key删除:deldict1['小李']
字典元素的弹出
通过pop方法:dict1.pop("小李")
清除字典内的元素
clear方法:dict1.clear()
修改val
直接通过key修改:dict1['小明'] =2003