Java教程

字符串、列表、元组、字典、集合的用法整理

本文主要是介绍字符串、列表、元组、字典、集合的用法整理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#  一、字符串(str)

str1 = 'AAaqss'
str2 = 'Hello Word!'
str3 = '123, aaa, iii'

print(str1.count('l'))   # 统计具体字符出现的次数
print(str1.replace('h', 'H'))  # 替换指定的字符
print(str1.title())  # 首字母大写,其他字符小写,特殊符号后的第一位首字母大写
print(str1.strip('ellhgA'))  # 删除开头和结尾的字符
print(str1.lstrip('eh'))  # 删除开头字符
print(str1.rstrip('gA'))  # 删除结尾字符
print(str1.upper())  # 将所有字符转换为大写
print(str1.lower())  # 将所有字符转换为小写
print(str1.split('!'))     # 返回字符串中单词的列表,使用sep作为分隔符字符串。None(默认值)表示根据任何空格进行分割,并从结果中丢弃空字符串。
print('-'.join(str3))  # 调用其方法的字符串被插入到每个给定字符串之间。结果作为一个新字符串返回。
print(str1.index(' '))  # 返回字符所在索引值


print(str1.startswith('H'))

如果str1以指定的前缀开始返回True,否则返回False。使用可选的开始,测试从该位置开始。
使用可选end,在该位置停止比较str1。前缀也可以是字符串元组来尝试。

print(str1.endswith('Ag'))

如果str1以指定的后缀结束则返回True,否则返回False。使用可选的开始,测试从该位置开始。
使用可选end,在该位置停止比较str1。Suffix也可以是一个字符串元组来尝试。

print(str1.capitalize())   # 返回字符串的大写版本。更具体地说,使第一个字符大写,其余字符小写。
print(str1.find('e'))   # 字符串从左往右查,返回索引值,未查询到时返回-1
print(str1.rfind('o'))   # 字符串由结尾向开头查,返回索引值,未查询到时返回-1
print(str1.center(12, '*'))  # 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
print(str1.istitle())  # 如果字符串是大小写的字符串则返回True,否则返回False。判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否

用三引号"""允许字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
str1 = """15644444

54444412"""
print(str1)   
# 输出结果为:




#二、列表(list):

list1 = [2, 3, 1, 5, 4]
list2 = [4, 5, 'd', 'E', 'F']
print(list1.index('C'))   # 查找对应字符的下标
list1[0] = 111  # 给下标为0赋值为111
print(list1)

print(list1[0:4])  # 使用下标索引访问列表中的值

list1.append('3')  # 在列表末尾添加一个元素
print(list1)

list1.extend(str1)  # 拼接两个列表
print(list1)

list1.insert(3, 'test')  # 在索引前插入对象
print(list1)

list1.remove(55)   #删除第一个出现的值。如果值不存在将引发ValueError。
print(list1)

del list1[1]  # 索引删除值
print(list1)

print(list1.index('b'))# 在列表中查找元素所对应的索引值

list1.sort()  #升序排序,不能对字符串进行排序
print(list1)

list1.sort(reverse=True)  #降序
print(list1)
print(sorted(list1,reverse=True))  #降序

print(list1.pop())
print(list1)
1.默认移除列表最后一个元素,并返回元素的值
2.移除指定位置的元素list1.pop(0)表示移除第一个元素
3.在列表中pop函数是唯一一个既能改变列表元素又有返回值

# 三、元组:

tuple1 = ('a', 'b', 'c')  #元组中的值是不可以直接改变的

list1 = list(tuple1)  # 元组转为列表
print(list1)

str1 = str(tuple1)  # 元组转为字符串
print(str1)


list1 = list(tuple1)  # 元组中的值是可以间接来改变
list1[0] = 'b'
tuple1 = tuple(list1)
print(tuple1)



# 四、字典:

定义:
1、字典(dict)是另一种可变容器模型,且可存储任意类型对象。字典的
每个键值key:value对用冒号 : 分割,每个键值对之间用逗号分割,整个字典包括在大括号 {} 中
2、字典同时是无序,字典都是以键值对的形式存在,先键后值,键是唯一
的,值且不唯一
字典表达符:{}

字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

字典的定义方式:
方式一:
dict1={'name':'duoceshi','age':18} #通过{}直接定义
方式二:
dict1 = [('a',1),('b',2),('c',3)]
dict2 = dict(dict1) #通过dict()方法定义


# 字典中常见的函数

dict1 = {'name': 'xiaowang', 'age': '10'}

# 1、添加一个键值对:

dict1['sex'] = 1
print(dict1)  # 如果字典里已经有这个键,旧数据将会替换

print(dict1.keys())  # 取出键返回到列表中显示

print(dict1.values())  # 取出值返回列表

print(dict1['name'], dict1['sex'])  # 取出具体键的值

print(dict1.setdefault('Tel', '110'))    # 如果key不在字典中,则使用default值插入key。如果key在字典中,则返回key的值,否则为default。
print(dict1)


dict1 = {'name': 'xiaowang', 'age': '10'}
del dict1['name']   #  删除字典的键,同时会删除对应的值
print(dict1)

dict1.clear()   # 清空字典,字典还保留
print(dict1)

del dict1   # 删除字典,字典结构也被删除
print(dict1)  # 报错:NameError: name 'dict1' is not defined


dict1 = {'name': 'xiaowang', 'age': '10'}
# for i in dict1:     # 字典的遍历:for...in...遍历字典
#     print(i,dict1[i])

dict2 = dict1.copy()  #  copy() 函数返回一个字典的浅复制
print(dict2)


dict1 = {'name': 'xiaowang', 'age': '10'}
# for key,value in dict1.items():     # 使用items()完成遍历
#     print(key,value)
# print(dict1.pop('name'))    # pop(key)函数,删除指定键并返回删除的值
# print(dict1.get('name'))
# print(dict1.get('name1'))   # get(key)方法,通过key获取值,当键不存在,返回None

dict2 = dict1.fromkeys(dict1)  # fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
dict2['name'] = 'admin'
print(dict2)   # 结果为{'name': 'admin', 'age': None}

dict1 = {}.fromkeys(['name'])  # 给具体的键未赋值,默认值为None。用于创建一个全新字典
print(dict1)


print(dict1.popitem())  # 删除字典中的键值对,一般删除末尾,并且返回删除的键值对

dict1 = {'name': 'xiaowang', 'age': '10'}
print(dict1.__contains__('name'))   # 检查字典是否有指定的键,有返回True,没有返回False

# 运用场景:
user={'admin':1}
pwd={'123456':1}
if user.__contains__(input('请输入你的账号:')):
    if pwd.__contains__(input('请输入你的密码:')):
        print('登录成功')
    else:
        print('密码错误,请重新输入')
else:
    print('账号不存在,请重新输入。')


dict1 = {'name': 'xiaowang', 'age': '10'}
dict2 = {'name': 'xiaowang', 'age1': '99', 'tel': '110'}

dict1.update(dict2)   # update函数利用一个字典更新另外一个字典,如果要更新的元素项在原字典里存在,则把原来的项覆盖
print(dict1)


#五、集合(set)
# 集合最重要的功能就是去重
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

# set1=set()   # 创建一个空集合

dict1={1:1,'name':'admin'}
set1 = set(dict1)   # 将字典转化为集合
print(set1)   # 输出结果为{1, 'name'}
print(dict1)

set1 = {1, 2, 3, 'a', 'b', 'C'}
set2 = {4, 5}
set1.add('d')  # 添加一个元素,add只能添加一个
set1.update('e', 'f', 'g')  # 添加元素的第二种办法
set1.update(set2)  # 使用update与其他集合取并集
set1 = set1.intersection(set2)  # intersection() 方法用于返回两个或更多集合中都包含的元素,即交集
print(set1)
set1.remove('e')  # 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
print(set1)
set1.discard('g')  # 将元素 x 从集合 s 中移除,并且如果元素不存在,也不会报错。
print(set1)
set1.pop()   #  删除并返回任意的set元素。如果该集合为空则引发KeyError
print(set1)

print(len(set1))  # 计算集合 s 元素个数
# set1.clear()   # 从这个集合中删除所有的元素
# print(set1)
# print(1 in set1)  # 判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False

'''


这篇关于字符串、列表、元组、字典、集合的用法整理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!