Python(字符串、列表、元组、字典、集合)

字符串

字符串就是一系列字符,在Python中用引号括起来的都是字符串,其中引号可以是单引号也可以是双引号。

这样更灵活,能让你在字符串中包含引号和撇号

修改字符串的大小写

string.title():该方法将字符串中每个单词的第一个字母转换为大写字母(在需要将名字视为信息时很有用)
string.upper():该方法将字符串改为全部大写
string.lower():该方法将字符串改为全部小写

StringValue = "I am enqueue"

print(StringValue.title())
print(StringValue.upper())
print(StringValue.lower())

在这里插入图片描述

在字符串中使用变量

在字符串中使用变量有两种方法:①f字符串和②format()方法

①要在字符串中插入变量的值,可在引号前加上字母f,再将要插入的变量放在花括号内。这样当Python显示字符串时,将吧每个变量都替换为其值

first_name = "ou yang"
last_name = "chen"
full_name = f"{
      
      first_name} {
      
      last_name}"
print(full_name)

在这里插入图片描述

②如果使用的是Python3.5或者更早的版本则需要使用format():在圆括号内列出要在字符串中使用的变量。对每个变量,都通过一对花括号来引用。这样将按顺序将这些花括号替换为圆括号内列出的变量的值

first_name = "ouyang"
last_name = "chen"
full_name = "{} {}".format(first_name,last_name)
print(full_name)

在这里插入图片描述

删除空白

当要删除字符串两边的空白时,可用lstrip()、rstrip()、strip()函数,分别删除左边空白、右边空白、左右两边空白。

language = "  python 666  "
language_l = language.lstrip()
print(language_l)
language_r = language.rstrip()
print(language_r)
language_lr = language.strip()
print(language_lr)

在这里插入图片描述

列表

列表是python中最基本的数据结构,列表中的每一个值都有对应的下标,称为索引,索引从0开始,第二个为1,以此类推,最后一个索引为-1,往前一位为-2,以此类推。

列表可进行的操作:索引、切片、加、乘、检查成员

创建列表

list1 = [‘a’,‘b’,‘c’]
list2 = [1,2,3]
list3 = [‘apple’,'banana‘,‘car’]
list4 = [‘a’,1,‘apple’,2.3]

列表对象方法

list1 = ['a','b',1,1,2,'apple','banana',2.3,4.5]
list2 = []
#把一个元素添加到列表结尾,相当于list1[len(list):] = ['x']
list1.append('x')
print(list1)
#将一个给定列表中的所有元素都添加到另一个列表中,相当于list2[len(list2):] = list1
list2.append(list1)
print(list2)
#在指定位置插入一个元素,第一个参数是准备插入到其前面的那个元素的索引。
# 例如:list1.insert(0,6),而list1.insert(len(list1),6)相当于list1.append(6)
list1.insert(0,6)
print(list1)
#删除列表中的值为x的第一个元素。如果没有这样的元素,则返回一个错误。
list1.remove(6)
print(list1)
#从列表指定位置删除元素,并将其返回。如果没有指定索引的话,list.pop()会返回最后一个元素
list1.pop(2)
print(list1)
#从列表中删除所有元素,相当于del list[:]
list2.clear()
print(list2)
#返回列表中第一个值为x的元素的索引。如果没有匹配的元素则返回一个错误
print(list1.index('x'))
#对返回x在列表中出现的次数。
print(list1.count(1))

list3 = [3,2,5,1,4,5,14,12]
list4 = [3,2.4,5,1.5,4,5,14,1.2]
list5 = ['earth','car','apple','banana']
# 对列表中的元素就地排序(只能是同一类型,不能是数跟字符串混合的列表)
list3.sort()
list4.sort()
print(list3)
print(list4)
#对列表中的元素倒序排序
list3.reverse()
print(list3)
#或者用sort(reverse = True)
list4.sort(reverse=True)
print(list4)
#要保留列表元素原来的排序顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数sorted()
#让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排序顺序
print(sorted(list5))
print(list5)
#返回列表的一个浅拷贝。等同于a[:]。
list6 = list5.copy()
print(list6)

![在这里插入图片描述](https://img-blog.csdnimg.cn/685bc62520804b30851b675e15cb07d1.png

把列表当作堆栈使用

队列是先进先出的,不过列表这样用效率太低。相对来说从列表末尾添加和弹出很快,但在头部插入和弹出却很慢。为此要通过列表来实现队列,使用collections包下的deque方法来实现,该方法专门为首位两端快速插入和删除而设置的。

1、引入:from collections import deque
2、创建:queue = deque([‘a’,‘b’,‘c’])
队尾入队依然用append函数
对头出队则使用popleft函数

from collections import  deque
list1 = deque([2,4,7,2,5,'a','b','sfd',1.34])
print(list1)
list1.append('real')
head = list1.popleft()
print(head)
print(list1)

在这里插入图片描述

把列表当作栈

相比于队列,栈是先进后出,直接Yoonappend()方法可以把一个元素添加到堆栈顶部。用不指定索引的pop()方法可以把一个元素从堆栈顶释放出来。

列表推导式

元组

元组的值是不能修改的,与列表不同,元组使用小括号**(),列表使用方括号[]**

在这里插入代码片

创建元组

tuple = (‘apple’,‘banana’,1,2,2.3,4.5)

tuple = ‘a’,‘b’,123,4.56

  • 创建空元组

tup = ()
注意:当元组中只包含一个元素时,需要在元素后面添加逗号**,**,否则括号会被当作运算符。

修改元组

元组元素不能修改,但可以对元组进行连接组合

tup1 = (12,34.56)
tup1[0] = 0

元组元素不可修改元组元素不可修改

tup1 = (12,34.56)
tupl2 = ('a','b','c')

tup3 = tupl2+tup1
print(tup3)

在这里插入图片描述
元组之间可连接组合

删除元组

元组中的元素值不可修改,但可以使用del语句来删除整个元组

tup1 = (12,34.56)
del tup1
print(tup1)

在这里插入图片描述

元组运算符

元组之间可以用运算符如:+、+=、*来进行运算从而使元组之间能够进行组合和复制,运算后会生成一个新的元组。

可以用in来判断某元素是否在元组中,也可以用它来对元组进行迭代

元组索引和截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素。

tup[a,b]:表示截取元素中下表从a到b之间的元素,包括a不包括b
tup[a]:表示读取下标为a的元素
tup[a:]:表示读取从下表为a及后面的所有元素
tup[:b]:表示读取从第一个到下标为b的所有元素,不包括下标为b的元素
tup[-a]:反向读取,读倒数第a个元素,倒数第一个元素为-1

关于元组是不可变的

所谓元组不可变是指元组所指向的内存中的内容不可变,若给元组重新赋值,则相当于绑定到新的对象,而不是修改了原来的对象。

tup1 = (1,2,3,4.56)
print(id(tup1))
tup1 = ('a','b','c')
print(id(tup1))

在这里插入图片描述

字典

字典是可变容器模型,且可存储任意类型对象字典的每个键值对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中格式如下:

d = {key1: value1,key2:value2,key3:value3}

注意:字典中的键必须是唯一的,但值不必,值可取任意数据类型,但键必须不可变,如字符串、数字等。

创建空字典

1、使用大括号

emptydict = {}

dic = {
    
    "name":"ouyang","age":23,"class":4}

2、使用内建函数:dict()

emptydict = dict()

修改字典

向字典添加新内容是增加新的键值对,修改或删除已有键值对。

dict[‘key1’] = value1

删除字典元素

1、删除一个元素:

del dict[‘a’]

2、删除整个字典:

①dict.clear()
②del dict

字典的特性

1、字典的键必须是不可变的,可用数字、字符串或元组充当。
2、字典的值可用是任何的Python对象,既可以是标准的对象,也可用是用户定义的。
3、不允许同一个键出现两次,若同一个键被赋值两次或以上,则最后一个值被记住。

字典的内置函数&方法

1、len(dic):计算字典元素个数,既键的总数

dic = {
    
    "name":"ouyang","age":23,"class":4}
print(len(dic))

在这里插入图片描述

2、str(dict): 输出字典,可用打印的字符串表示

dic = {
    
    "name":"ouyang","age":23,"class":4}
print(dic)
print(str(dic))

3、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型

dic = {
    
    "name":"ouyang","age":23,"class":4}
print(dic)
print(type(dic))

在这里插入图片描述

使用get()来访问值

使用放在方括号内的键从字典中获取值时,如果该指定的键不存在,则会出错。此时可使用方法get()在指定的键不存在时返回一个默认值,从而避免错误。

dic = {
    
    "name":"ouyang","age":23,"class":4}
class_number = dic.get('class','No point values assigned!')
print(class_number)
school_name = dic.get('school','No point value assigned!')
print(school_name)

在这里插入图片描述

遍历字典

  • 遍历键值:要编写遍历字典的for循环,可声明两个变量,用于存储键值对中的键和值。for语句的第二部分包含字典名和方法items()。它返回一个带两个元素的元组,为此可以用两个变量来接受,使用者两个变量来打印每个键及其相关联的值。
dic = {
    
    "name":"ouyang","age":23,"class":4}
for i in dic.items():
    print(i)
print(type(i))
for k,v in dic.items():
    print(f'{
      
      k}:{
      
      v}')
print(type(k),type(v))

在这里插入图片描述

  • 遍历键:遍历键可以用keys()方法,当然直接用for i in dic: print(i),也能只得到键,但前者可让代码更容易理解,看自己选择。
  • 遍历值:如果只想输出值的话可以使用方法values()来返回一个值列表,不包含任何键。这种方法提取字典中的每个值,而没有考虑是否重复。

集合

集合是一个无序不重复元素的序列

基本功能

关系测试和消除重复元素。

数学运算

集合对象还支持union(联合)、intersection(交)、difference(差)和sysmmetric difference(对称差集)等。

集合的创建

创建集合时可以使用大括号:{}或者set()

创建格式:

  • 方法1:大括号{}

parame = {value0,value1,value2,…}

parame = {
    
    1,'w',1.22}
  • 方法2:set()

创建空集合:parame2 = set(value)

parame2 = {
    
    'sdgf',34,1.24}

创建非空集合也可用set()

parame2 = set((1,'w',1.22,'apple',1,'w',6,'1'))

去重功能

由于集合是一个无序不重复元素的序列,所以不能出现两个一样的元素,即使你编程时写重了,在打印的时候也会被自动去除重复的元素。
parame = {
    
    1,'w',1.22,'apple',1,'w',6,'1'}
print(parame)

编译结果:‘w’跟‘1’是重复的,则在打印时只会显示一次,且顺序是随机的。
![](https://img-blog.csdnimg.cn/3918eaacf48c4fff91877f797a6a08eb.png

集合的基本操作

  1. 添加元素
  • 第一种添加元素是使用add()方法,将新元素x添加到元素s中,若元素已存在,则不进行任何操作
    语法格式如下:

s.add(x)

parame = {
    
    1,'a',1.2}
print(parame)
parame.add(3)
print(parame)

编译结果:
在这里插入图片描述

  • 第二种添加元素的方法,且参数可以是列表、元组、字典等
    语法格式如下:

s.update(x)

parame = {
    
    1,'a',1.2}
print(parame)
parame.update({
    
    2,4,6})
print(parame)
parame.update(['aa','bb'])
print(parame)

编译结果:
在这里插入图片描述

  1. 移除元素
  • 第一种方法是使用remove()函数
    语法格式:

s.remove(x)

若要移除的那个元素不在集合中,则会发生错误

parame = {
    
    1,'a',1.2}
parame.remove('a')
print(parame)
parame.remove('b')

在这里插入图片描述

  • 第二种方法是使用discard()函数,并且该方法在当待删除元素不存在时不会发生错误
    语法格式

s.duscard(x)

parame = {
    
    1,'a',1.2}
parame.discard('a')
print(parame)
parame.discard('b')
print(parame)

在这里插入图片描述

  • 第三种方法是使用pop()方法,该方法会随机删除集合中的一个元素,set集合的pop方法会对集合进行无序的排序,然后将最左边的元素删除。
    语法格式:

s.pop()

parame = {
    
    1,'a',1.2}
parame.pop()
print(parame)

两次编译结果不同
在这里插入图片描述
在这里插入图片描述

  1. 计算集合元素个数
    语法格式:

len(s)

parame = {
    
    1,'a',1.2}
print(len(parame))

在这里插入图片描述

  1. 清空集合
    语法格式:

s.clear

parame = {
    
    1,'a',1.2}
parame.clear()
print(parame)

编译结果:
在这里插入图片描述

  1. 判断元素是否在集合中存在

可以用in来判断某元素是否存在于一个集合内

parame = {
    
    1,'w',1.22,'apple',1,'w',6,'1'}
print(2 in parame)
print(1 in parame)

编译结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46769840/article/details/129111111