欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-19 13:13:43
...

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

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

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

	#切片
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
相关标签: 编程语言 python