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

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

String(字符串)

word = '字符串'
sentence= "句子"
paragraph = """
        这是一个段落
        可以由多行组成
"""
print(word)
print(sentence)
print(paragraph)

双引号和单引号的区别
①单引号有时需要转义字符(\)
my_str = "I'm a student"
my_str = 'I\'m a student'
②
my_str = "Jason said \"I like you\""
my_str = 'Jason said "I like you"'

str = "chengdu"
print(str)
print(str[0])
print(str[0:5])
print(str[1:7:2])  #左闭右开
print(str[5:])
print(str[:5])
print(str + ",你好")
print(str * 3)
print("hello\nworld") #使用反斜杠,实现转义
print(r"hello\nworld") #原始字符直接打印输出

字符串常见操作

bytes.decode(encoding="utf-8",errors="strict")  

Python3中没有decode方法,但我们可以使用bytes对象的decode()方法来解码给定的bytes对象,这个bytes对象可以由str.encode()来编码返回。

encode(encoding='UTF-8',errors='strict')

以encoding指定的编码格式编码字符串,如果出错默认报一个ValueError的异常,除非errors指定的是’ignore’或者’replace’

isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False

isalpaha() 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False

isnumeric() 如果字符串中只包含数字字符则返回True,否则返回False


join(seq)以指定字符串作为分隔符,将seq中所有的元素(字符串表示)合并为一个新的字符串

len(string) 返回字符串长度

lstrip()截掉字符串左边的空格或指定字符

rstrip()截掉字符串末尾的空格

split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔成 num+1 个子字符串

List(列表)

特点
  1. 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)
  2. 写在[ ]之间,逗号分割
  3. 索引值以0为开始值,-1为从末尾的开始位置
  4. 列表可以使用+操作符进行拼接,使用*表示重复
testlist = [1,"王","张"]    # 列表中可以存储混合类型
print(type(testlist[0]))  
print(type(testlist[1]))
print(testlist[0])  # run <class 'int'>
print(testlist[1])  # run <class 'str'>
print(testlist[2])

for i in testlist:
    print(i)

print(len(testlist))

#使用枚举函数enumerate(list)
mylist = ["a","b","c"]
for i,x in enumerate(mylist):
    print(i,x)            #0 a  1 b  2 c

列表常用操作

操作名称操作方法举例
访问列表中的元素通过下表直接访问print(list[0])
列表的切片使用[: :]list1[2:5:2]
遍历forfor i in list1 :print(i)
【增】新增数据到列表尾部(其类型不变)appendlist1,append(5)
【增】列表的追加(将列表拆分后逐一追加)extendlist1.extend(list2)
【增】指定下标位置出入元素insertlist.insert(1,3)
【删】 删除指定位置元素deldel list1[2]
【删】 删除列表deldel list1
清空列表clearlist1.clear
【删】弹出最后一个元素poplist1.pop()
【删】删除指定内容元素 (只删除找到的第一个)removenamelist.remove(“李”)
【改】namelist[1] =“小红”
【查】if name in namelist:print(“找到了”)
【查】在索引i到j之间是否存在,存在返回索引 (左闭右开,只查找第一个)indexa.index(“a”,1,4)
统计countlist1.count(“li”)
列表元素反转reverselist1.reverse()
排序sort()正序:list1.sort() 降序:list1.sort(reserse=True)

Tuple(元组)

特点

  1. tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间逗号隔开。
  2. 元组的元素不可变,但可以包含可变对象,如list。

类型变化

tup1 = () #创建空的元组
print(type(tup1))  #<class 'tuple'>

tup2 = (50)       
print(type(tup2))  #<class 'int'>

tup3 = (50,)      
print(type(tup3))   #<class 'tuple'>
tup1 = ("abc","def",2000,2020)

print(tup1[0])
print(tup1[-1])   #访问最后一个元素
print(tup1[1:5])  #左闭右开,进行切片

操作

操作 名称操作方法举例
【增】连接+tup = tup1 + tup2
【删】删除整个变量deldel tup
【改】不能修改
#增 (连接)
tup1 = (12,34,56)
tup2 = ("abc","xyz")

tup = tup1 + tup2
print(tup)    #(12, 34, 56, 'abc', 'xyz')

#删  (删除整个元组变量)
tup1 = (12,34,56)
print(tup1)
del tup1
print(tup1)   # NameError: name 'tup1' is not defined
#改  (不能修改)

tup1 = (12,34,56)

tup1[0] = 1000   # 报错TypeError: 'tuple' object does not support item assignment

dict(字典)

特点

  1. 字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
  2. 键(key)必须使用不可变类型。
  3. 同一个字典中,键(key)必须唯一。
  4. 中括号 冒号表示
#字典定义
info = {'name':'吴彦祖','age':18}
#字典访问
print(info['name'])
print(info['age'])
'''
#直接访问不存在的键
print(info['gender'])  #  报错
'''
#使用get方法没有对应的键,默认返回None
print(info.get("gender"))
#没找到get方法,可以设置默认值
print(info.get("gender","m"))
print(info.get("name","li"))  #找到了则无效

操作

操作 名称操作方法举例
【增】删除的一个键值对或删除某个字典deldel info[‘name’] del info
【删】清空整个字典clearinfo[‘name’].clear()
【查】不能修改info.keys() info.values() info.items()
#增
info = {'name':'吴彦祖','age':18}
gender = input("请输入性别:")
info["gender"] = gender
print(info['gender'])

#删
#【del】 删除的是一个键值对或删除某个字典
info = {'name':'吴彦祖','age':18}
print("删除前:%s"%info['name'])
del info['name']
print("删除后:%s"%info['name'])   #报错
del info

#【clear】 清空整个字典,删除某个键值对用del
info = {'name':'吴彦祖','age':18}
info['name'].clear()
print(info)

# 查
info = {'name':'吴彦祖','age':18}
print(info.keys())   #得到所有的键(列表)dict_keys(['name', 'age'])
print(info.values())  #得到所有的值(列表)dict_values(['吴彦祖', 18])
print(info.items())    #得到所有的项(列表),每个键值对是一个元组
                       #dict_items([('name', '吴彦祖'), ('age', 18)])

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

#使用枚举函数enumerate(list)
mylist = ["a","b","c"]
for i,x in enumerate(mylist):
    print(i,x)
操作名称举例
合并字典updateinfo1.update(info2)
info1 = {'name':'吴彦祖','age':18}
info2 = {'gender':'m'}
# in 判读key是否存在 返回True或False
print('name' in info1)

# update() 合并字典
info1.update(info2)
print(info1)

# pop()方法 字典元素弹出
print(info1.pop('name'))

在这里插入图片描述

set(集合)

特点

  1. 不能重复,重复元素在set中自动被过滤,可以用来去重操作
  2. 无序
  3. 大括号{}
    在这里插入图片描述
    在这里插入图片描述

总结在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值