Java中有几种类型的流?
字节流和字符流。字节流继承于InputStream、OutputStream,字符流继承于Reader、Writer。在java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。关于Java的I/O需要注意的有两点:一是两种对称性(输入和输出的对称性,字节和字符的对称性);二是两种设计模式(适配器模式和装潢模式)。另外Java中的流不同于C#的是它只有一个维度一个方向。
元组与列表基本相同,不同之处在于元组只能存不能取,当多个值没有改的需求时,用元组更合适
1.创建元组:
t = (1, 2, 3, 4, 2,4,) t = (1,) #单个元组的命名要加上逗号,否则识别为int型
2.需要掌握的操作:
print(t.count(4))#返回4在元组中出现的次数 print(t.index(2,3,7))#返回2在元组中,从索引3开始查找到7所出现位置的索引
修改元组:
直接通过元组下标修改元组是非法的,不过可以通过凭借完成。
t = (1, 2, 3, ) t1 = (3, 4, 5,) t = t + t1 print(t)#结果(1, 2, 3, 4, 5)
删除元组:元组是无法删除的,只能通过del(会报错)
作业:将用户输入的菜名添加到元组中
思路:元组不可以直接添加内容,但是元组与元组之间是可以拼接的,通过将接受到的数据转换成元组,然后与一个空元组进行拼接。
# foods = () # for i in range(5): # food = tuple(input('请输入菜名:').strip()) # foods = foods+food # print(foods)
键必须是唯一的,但值则不必。键重名时,后面声明的会覆盖前面的值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
声明字典的几种方法:
# 1. # dic = { # 'name': 'zfj', # 'age': 18, # 'sex': 'male', # } # print(dic) # 2. # dic1 = dict(name='zfj', age=18, sex='male',) # dic1 = dict(name='zfj', age=18, 2='male',)# 必须保证key为字符串类型,否则会报错 # print(dic1) # 3. # dic2 = dict([['name', 'zfj', ], ('age', 18, ), ('sex', 'male')]) # print(dic2) # 4.所有键的值都相同或者赋予初始值 # dic3 = {} # dic3 = dic3.fromkeys(('name', 'age', 'sex'), 'value1') # print(dic3)
访问字典:字典通过key访问值,要是访问不存在的key则会报错
dic = { 'name': 'zfj', 'age': 18, 'sex': 'male', } print(dic['job'])# 出错
修改字典:
dic = { 'name': 'zfj', 'age': 18, 'sex': 'male', } dic['job'] = 'SH' print(dic) # 向字典中添加'job':'SH' dic['name'] = 'ZFJ' print(dic)# 修改字典中的'zfj'为'ZFJ'
print(dic.get('name')) #get是获得键值为name的value dic1 = {'xxx': '111'} dic.update(dic1)# update 是将dic1中的内容添加到dic中 print(dic)
setdefault的用法:
dic.setdefault('name', 'dsb')#如果字典中已经存在key(‘name’)那么不修改原值 print(dic) dic.setdefault('job', 'SH')#如果字典中没有存在key(‘job’)那么添加内容置字典 print(dic)
删除字典:
# dic.pop('age') # print(dic)# 按键值删除 # dic.popitem() # print(dic)# 随机返回并删除字典中的一对键和值(一般删除末尾对)。 # dic.clear() # print(dic)# 清空字典
是一个无序不重复元素的序列
特点:1.每一个值都是不可变类型 2.元素不能重复 3.集合内的元素无序
用处:关系运算,去重
定义:在{}内用逗号分隔开的多个值或者 set() 函数创建集合。 注:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合去重也具有局限性:1.无法保证原数据的顺序。2.当某一个数据中包含多个值全部为不可变类型才能使用集合
# a = {'小明', '小李', '小王', 'abc'} # b = {'abc', 'qwe', 'fgh', '小李'} # print(a & b) # 交集 # print(a | b) #合集 # print(a ^ b) #对称差集 不包含交集的所有部分 # print(a - b)# a与b的差集 就是输出a中除了包含b中有的内容 # print(b - a)# b与a的差集 就是输出b中除了包含a中有的内容
添加,删除:
# a.add('xiaowang') #添加,如果元素已存在,则不进行任何操作 # a.update('s') # a.update('b')# update不仅可以添加字符串还可以添加列表,元组,字典 # a.remove('小明')#删除'小明' 不存在则报错 # a.discard('小明')#删除, 不存在不会报错 # a.pop()#随机删除 print(a)
加油!
焚膏油以继晷,恒兀兀以穷年。
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。