学习Python⑵:Python中的字符串、列表、元组、字典、集合

  通过代码来学习,记录下来以备后查。

一、字符串

import datetime

# 字符串的格式化
tool='Python'
Version=3.7
Str1="学习 %s,版本:%s"%(tool,Version)+",{}年{}月{}日".format(datetime.date.today().year,datetime.date.today().month,datetime.date.today().day)
Str2="From now on,learn and use {tool} {Version}。".format(tool='python',Version=3.71)
Str3=f"{tool} {Version} 功能强大!"
print(Str1,'\n',Str2,'\n',Str3,Str1[0:9])           #\r为换行,\n为回车
'''
返回结果:
学习 Python,版本:3.7,2021年1月9日 
 From now on,learn and use python 3.71。 
 Python 3.7 功能强大! 学习 Python

指定数字类型
b: 输出整数的二进制方式;
c: 输出整数对应的Unicode字符;
d: 输出整数的十进制方式;
o: 输出整数的八进制方式;
x: 输出整数的小写十六进制方式;
X: 输出整数的大写十六进制方式;
'''

First="python"+' '*2+"and"+' '*2+"pyCharm"         # ' '*2表示生成2个空格
print(First,"长度为"+str(len(First)))
print(First[0:9])
print(First[-13:-1])
'''
返回结果:
python  and  pyCharm 长度为20
python  a
 and  pyChar
'''

# 大小写转换
print(First.capitalize())         # 把字符串的第一个字符大写,其他字符串小写
print(First.title())              # 将所有单词都是以大写开始,其余字母均为小写
print("PYTHON".lower())           # 转换 string 中所有大写字符为小写
print("Python And PyCharm".swapcase())        # 将字符串中大写的变小写,小写的变大写
'''
返回结果:
Python  and  pycharm
Python  And  Pycharm
python
pYTHON aND pYcHARM
'''

# 去掉空格
Second=" Python "
print('|'+Second.strip()+'|')     # 去掉两边的空格
print('|'+Second.lstrip()+'|')    # 去掉左边的空格
print('|'+Second.rstrip()+'|')    # 去掉右边的空格
'''
返回结果:
|Python|
|Python |
| Python|
'''

# 字符串转为列表
Three=First.split(' ')            # 以一个空格为分割符号
print(type(Three),Three)
Four=First.split('  ')            # 以两个空格为分割符号
print(type(Four),Four)
'''
返回结果:
<class 'list'> ['python', '', 'and', '', 'pyCharm']
<class 'list'> ['python', 'and', 'pyCharm']
'''

# 列表转为字符串
Five=['python','and','pycharm']
print(''.join(Five))
'''
返回结果:
pythonandpycharm
'''

# 统计与查找
print(First.count('p',0,len(First)))    # 统计'p'出现的次数
print(First.find('py',0,len(First)))    # 查找'py'开始出现的位置
print(First.startswith('python'),First.endswith('arm'))    # 以给定的字符开始或者结尾
'''
返回结果:
2
0
True True
'''

# 格式化输出
print("{} {} {}".format('python','and','pycharm'))
print("{0} {1} {2}".format('python','and','pycharm'))
'''
返回结果:
python and pycharm
python and pycharm
'''

# 日期与时间
Today=datetime.datetime(2021,2,1,17,4,19)
print(Today)
print("{:%y-%m-%d %H:%M:%S}".format(Today))
print("{:%Y-%M-%D %H:%M:%S}".format(Today))
'''
返回结果:
2021-02-01 17:04:19
21-02-01 17:04:19
2021-04-02/01/21 17:04:19
'''

print('π is {:.2f}'.format(3.1415926))
print('{:,}'.format(123456789))
print("{:.0%}".format(15/100))
print("{:.2%}".format(12/100))
'''
返回结果
π is 3.14
123,456,789
15%
12.00%
'''

二、列表

# 列表
List1=['Python 3.7','PyCharm 2020.3.2','pymssql 2.1.5','tkinter']
List2=['C#',3.7,['PHP','Vue','JQuery']]
List3=[1,3,9,-5,19,29,39,1,3,4,5,8,3]
Str4="study hard and make progress every day.a"
print(List1[0],List2[2][1:3],sep=' && ',end='!')    #可以设置print的输出格式:间隔符为‘ && ’,缺省间隔符为‘ ’,结尾为'|'
print('\r')   #换行 \n为回车
print(len(List3),max(List3),min(List3),"3在List3中出现了{}次".format(List3.count(3)),"'a'在Str4中出现了{}次".format(Str4.count('a')))
List2[2].insert(1,'Html5')                 #增加一个元素
List2[2].insert(3,'Html5')                 #增加一个元素
List2.append('CSS')                        #在列表的最后增加一个元素
print(List2,'\n',List2[3])
List2[2].remove('Html5')                   #删除一个元素,每次删除一个
List2[2].remove('Html5')                   #删除一个元素
List2[2][0]='PHP7'                         #更改值,注意:字符串不支持这样的操作
List2[2].append('JaveScript')
print(List2)
print('原列表:',List3)
List3.reverse()                            #列表翻转
print('翻 转:',List3)
List3.sort(reverse=True)                   #列表的排序:reverse=True表示从大到小的排序
print('排 序:',List3)
Str5="abcd1345abc3579tet13to13of13abc"     #字符串的替换:最后的数字代表替换次数,默认为-1表示全部替换
Str5=Str5.replace('abc','ABC',2)           #替换两次,最后的abc不会被替换
print(Str5)
'''
返回结果:
13 39 -5 3在List3中出现了3次 'a'在Str4中出现了5次
['C#', 3.7, ['PHP', 'Html5', 'Vue', 'Html5', 'JQuery'], 'CSS'] 
 CSS
['C#', 3.7, ['PHP7', 'Vue', 'JQuery', 'JaveScript'], 'CSS']
原列表: [1, 3, 9, -5, 19, 29, 39, 1, 3, 4, 5, 8, 3]
翻 转: [3, 8, 5, 4, 3, 1, 39, 29, 19, -5, 9, 3, 1]
排 序: [39, 29, 19, 9, 8, 5, 4, 3, 3, 3, 1, 1, -5]
ABCd1345ABC3579tet13to13of13abc
'''

三、元组

# 元组 tuple   元组的值在创建后就不能更改了,用于被保护的数据,访问的速度快。
Tuple1=(91,2,34,37,9,23,9,73)
Tuple2='列表','数组','元组',                     # 注意最后有一个,
print(Tuple1[-1],'\n', Tuple2[2],'\n',Tuple2[1:], Tuple2.index('元组'), Tuple1.count(9), len(Tuple1))
'''
返回结果:
73 
 元组 
 ('数组', '元组') 2 2 8
'''

四、字典

# 字典          字典是可以改变的,字典的Key必须是不可改变的数据类型(元组可以,列表不可以,字典也不可以)
Dict1={1:'China',2:'Russia','3':'Pakistan'}
Dict2=dict(a='北京',b='上海',c='天津')
Dict2['c']='重庆'                               # 字典改变值
Dict2['d']='深圳'                               # 字典增加值
Dict3={3:'缅甸',4:'尼泊尔'}
print(Dict1[1],'\n',Dict1['3'],'\n',Dict1.get(2),Dict2['a'],'\n',Dict2)
print('Dict1的key:',Dict1.keys(),'Dict1的value:',Dict1.values(),'Dict1的item:',Dict1.items())
print(Dict1.pop('3'),Dict1)                    # 去掉一个item不再字典中存在
Dict1.update(Dict2)                            # 字典的更新,用一个字典更新(增加)另外一个字典
print(Dict1)
Dict1.update(Dict3)                            # 字典的更新,更新相同的Key的值
print(Dict1)
#print(**Dict1,**Dict2)                         # 字典的合并(两个字典不能有相同的Key)
'''
返回的结果:
China 
 Pakistan 
 Russia 北京 
 {'a': '北京', 'b': '上海', 'c': '重庆', 'd': '深圳'}
Dict1的key: dict_keys([1, 2, '3']) Dict1的value: dict_values(['China', 'Russia', 'Pakistan']) Dict1的item: dict_items([(1, 'China'), (2, 'Russia'), ('3', 'Pakistan')])
Pakistan {1: 'China', 2: 'Russia'}
{1: 'China', 2: 'Russia', 'a': '北京', 'b': '上海', 'c': '重庆', 'd': '深圳'}
{1: 'China', 2: 'Russia', 'a': '北京', 'b': '上海', 'c': '重庆', 'd': '深圳', 3: '缅甸', 4: '尼泊尔'}
'''

  字典的嵌套。

dic={}
dic_1=dic.setdefault('字典索引1',{})
dic_1.setdefault('item1',0.01)              # 字典索引1的数据
dic_1.setdefault('item2',1)                 # 字典索引1的数据

dic_2=dic.setdefault('字典索引2',{})
dic_2.setdefault('item1',3)                 # 字典索引2的数据
dic_2.setdefault('item2',4)                 # 字典索引2的数据
dic_2_1=dic_2.setdefault('item3',[])        # 字典索引2的数据,dic_2_1相当于索引item3的句柄(地址)
dic_2_1.append(9)                           # 向列表中追加数据项
dic_2_1.append(19)                          # 向列表中追加数据项

dic_3=dic.setdefault('字典索引3',{})
dic_3_0=dic_3.setdefault('item1',12)
dic_3_0=dic_3.setdefault('item2',9)
dic_3_1=dic_3.setdefault('item3',{})
dic_3_1_0=dic_3_1.setdefault('iiitem1','python')
dic_3_1_0=dic_3_1.setdefault('iiitem2','pycharm')

print(dic)
'''
结果显示
{'字典索引1': {'item1': 0.01, 'item2': 1}, '字典索引2': {'item1': 3, 'item2': 4, 'item3': [9, 19]}, '字典索引3': {'item1': 12.7, 'item2': 6, 'item3': {'iiitem1': 'python', 'iiitem2': 'pycharm'}}}
'''

五、集合

# 集合   集合里的元素是无序的
Set1={'数学','语文','英语','生物','地理','英语'}
print('数学' in Set1)
print(set(Set1),'\n','新生成的无重复的列表:',list(set(Set1)))
Set1.add('历史')                               # 添加相同的元素不会报错
Set1.remove('生物')                            # 删除并不存在的元素会报错
Str6="learn and use Python"
Set2=set(Str6)                                # 字符串转换成集合,去掉相同的元素
print(Set2)
Set3={'化学','物理','数学',101,555}
print(Set1 & Set3)                            # 集合的交集
print(Set1 | Set3)                            # 集合的并集
print(Set1 ^ Set3)                            # 将交集去掉的集合
print(Set1 - Set3)                            # 集合的相减
'''
返回的结果
True
{'地理', '数学', '英语', '生物', '语文'} 
 新生成的无重复的列表: ['地理', '数学', '英语', '生物', '语文']
{' ', 't', 'n', 's', 'r', 'P', 'o', 'u', 'a', 'd', 'y', 'h', 'e', 'l'}
{'数学'}
{'地理', '英语', 101, '化学', 555, '数学', '历史', '物理', '语文'}
{'物理', '语文', '地理', 101, '英语', '化学', 555, '历史'}
{'地理', '英语', '历史', '语文'}
'''

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值