Python第三天-----字符串、列表、元组、字典

字符串、列表、元组、字典

  字符串、列表、元组、字典都属于序列。序列的优点是:支持索引和切片操作。
  切片:截取序列中的一段内容。格式为:[起始下标:结束下标:步长](左闭右开),步长指隔几个元素取一次。

切片(以字符串为例,其他的格式相同)

	#切片
text='Hello Python'
print(text)	#Hello Python
#从第三个字符(下标为2,左闭)到第五个字符(下标为4,右开)
print(text[2:5])	#llo
#从第四个字符(下标为3)到最后
print(text[3:])	#lo Python
#从开始到第五个字符(下标为4)
print(text[:4])	#Hell
#倒序输出
print(text[::-1])	#nohtyP olleH

一、字符串

test='i like python'	#字符串本身就是一个集合
	#字符串常用函数
print(test[0])	#输出:i
#首字母大写
print(test.capitalize())	#I like python
#查询	find()和index()都可用作查询,区别:find若没有找到会返回-1,index会报错
print(test.index('0'))	#11
print(test.find('o'))	#11
#都变为小写
print(test.lower())	#i like python
#都变为大写
print(test.upper())	#I LIKE PYTHON
#判断开头或结尾
print(test.startswith('i'))	#True
print(test.endswith('n'))	#True

二、列表
  格式:[ , , , ,] ,数据项可以是任何类型的数据;支持索引和切片操作。

li=[1,2,'a',1.23,True,'人']	#列表中的元素可以是任意类型的

1、列表的添加

append():在列表后面添加数据;
insert(n,a):在下标为n的位置插入a;
extend(a):把子字符串a添加在原字符串后面

list1=['abc',1,2,1.23,True]
list1.append(['aaa','bbb'])	#在列表后面添加数据
print(list1)	#['abc', 1, 2, 1.23, True, ['aaa', 'bbb']]

list1=['abc',1,2,1.23,True]
list.insert(1,'fff')#在第二个数据的位置插入'fff',其他数据往后移动
print(list1)	#['abc', 'ffff', 1, 2, 1.23, True]

list1=['abc',1,2,1.23,True]
list2=[1,2,3]
list1.extend(list2)
print(list1)	#['abc', 1, 2, 1.23, True, 1, 2, 3]

2、列表的修改

直接通过下标修改

list1=['abc',1,2,1.23,True]
list1[0]=12345
print(list1)	#[12345, 1, 2, 1.23, True]

3、列表的删除

del;
remove(a):a是移除列表的元素
pop(b):b是移除列表的下标

list3=list(range(1,10))	#将range类型转换为list类型
#list1=[1, 2, 3, 4, 5, 6, 7, 8, 9]

	#del
del list3[1]	#把第二个数据删除
print(list3)	#[1, 3, 4, 5, 6, 7, 8, 9]
del list3[2:5]	#删除第3个到第5个
print(list3)	#[1, 3, 7, 8, 9]

	#remove
list3=list(range(1,10))
list3.remove(2)	#移除2这个元素
print(list3)	#[1, 3, 4, 5, 6, 7, 8, 9]

	#pop()
list3=list(range(1,10))
list3.pop()	#移除最后一项
print(list3)	#[1, 2, 3, 4, 5, 6, 7, 8]
list3.pop(1)	#移除下标为1的数据
print(list3)	#[1, 3, 4, 5, 6, 7, 8, 9]

三、元组
  元组是一种不可变的序列,不可以修改。用小括号()创建元组类型,用逗号分割。元组中的元素可以是任意类型。当元组中只有一个元素时,要加上逗号,否则会当成整型处理。

1、元组的查询(通过下标或者切片)

tuple1=('a',1,2,3.14,'python',(12,3),[1,2,3])
print(tuple1[0])	#a
print(tuple1[1:2:])	#(1,)

2、元组不可修改,但是可以对元组中的列表进行修改。

tuple1=('a',1,2,3.14,'python',(12,3),[1,2,3])
tuple1[6][0]=34	#tuple1[6]是列表元素,tuple1[6][0]是列表中的第一个元素,改为34
print(tuple1)	#('a', 1, 2, 3.14, 'python', (12, 3), [34, 2, 3])

3、count():统计元素出现的次数

tuple2=(1,2,1,2,1,1,3,5)
print(tuple2.count(1))	#4

四、字典
  字典是由“键值对”组成的集合,通常使用"j键"访问数据,和列表一样,支持对数据的添加、修改、删除操作。其特点是:字典不是序列,没有下标的概念,是无序的。字典用{}表示,中间用逗号分隔。“键”必须是不可变的类型【元组、字符串】,“值”可以是任意类型。每个“键”一定是唯一的,若存在重复的键,则后者会覆盖前者

dict1={'name':'张三','age':'18'}	#声明字典

1、添加字典数据

dict1={}	#声明字典
dict1['profession']='计算机'
dict1['school']='xx学校'
print(dict1)	#{'profession': '计算机', 'school': 'xx学校'}

2、修改
直接修改;update()

#直接修改
dict2={'name':'张三','age':'18','profession': '计算机', 'school': 'xx学校'}
dict2['name']='李四'
print(dict2)	#{'name': '李四', 'age': '18', 'profession': '计算机', 'school': 'xx学校'}

#通过update()
dict2={'name':'张三','age':'18','profession': '计算机', 'school': 'xx学校'}
dict2.update({'age':'19','school':'张三中学'})
print(dict2)	#{'name': '张三', 'age': '19', 'profession': '计算机', 'school': '张三中学'}

3、获取所有的键、值或键值对
keys():获取字典中所有的键。
values():获取所有的值。
items():获取所有的键值对。

dict3={'name':'张三','age':'18','profession': '计算机', 'school': 'xx学校'}
print(dict3.keys())		#dict_keys(['name', 'age', 'profession', 'school'])
print(dict3.values())	#dict_values(['张三', '18', '计算机', 'xx学校'])
print(dict3.items())	#dict_items([('name', '张三'), ('age', '18'), ('profession', '计算机'), ('school', 'xx学校')])

for key,value in dict3.items():
	print('%s==%s'%(key,value),end=' ')	#name==张三 age==18 profession==计算机 school==xx学校

4、删除
通过对指定键进行删除
del方法和pop()方法

dict3={'name':'张三','age':'18','profession': '计算机', 'school': 'xx学校'}
del dict3['name']	#将name的键值对删除
dict3.pop('age')
print(dict3)	#{'profession': '计算机', 'school': 'xx学校'}

五、序列的公共操作

1、合并操作 +(字符串、列表、元组)

str1='123'
str2='456'
print(str1+str2)    #123456

lista=list(range(10))
listb=list(range(11,20))
print(lista+listb)	#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19]

2、复制操作 * (字符串、列表、元组)

str1='123'
print(str1*3)	#123123123

tuple2=(1,2,1)
print(tuple2*3)	#(1, 2, 1, 1, 2, 1, 1, 2, 1)

3、in 判断对象是否存在(字符串、列表、元组、字典)(布尔类型)

str1='123345456'
print('1' in str1)	#True

dict1={'name':'张三','age':'16'}
print('name' in dict1)	#True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值