0

0

学习python列表、字典、集合的总结

高洛峰

高洛峰

发布时间:2017-03-26 17:12:13

|

1791人浏览过

|

来源于php中文网

原创

1、列表

#!/usr/bin/env python
#_*_coding:utf-8_*_
names = ['Alex',"Tenglan",'Eric']
#print names[0] //python2.7不必加括号
print (names[0])
#!/usr/bin/env python
#_*_coding:utf-8_*_
#切片:取多个元素 
names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
print (names[1:4])
#追加
names.append("xiao")
print (names)
#插入
names.insert(2,"强行从Eric前面插入")
print (names)
#修改
names[2]="该换人了"
print (names)
#删除
del names[2]
print (names)
#删除指定元素
names.remove("Eric")
print (names)
#删除列表最后一个值
names.pop()
print (names)
#扩展
b = [1,2,3]
names.extend(b)
print (names)
#拷贝
name_copy=names.copy()
print (name_copy)
#统计
names=['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
print (names.count("Amy"))
#排序
names[-3] = '1'
names[-2] = '2'
names[-1] = '3'
names.sort()
print(names)
#反转
names.reverse()
print(names)
#获取下标
print (names.index("Amy"))

2、元组

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

语法

names = ("alex","jack","eric")

它只有2个方法,一个是count,一个是index,完毕。

#!/usr/bin/env python
#_*_coding:utf-8_*_
names = ("alex","jack","eric")
print (names.count("alex"))
print (names.index("jack"))

3、字符串操作

#检测字符串是否由字母和数字组成
print ('9aA'.isalnum())
#是否整数
print ('9'.isdigit())
#检测字符串是否只由数字组成。这种方法是只针对unicode对象
str = u"this2009"
print (str.isnumeric())
str = u"23443434"
print (str.isnumeric())
#判断字符串所包含的字符是否全部可打印。字符串包含不可打印字符,如转义字符,将返回False
print (str.isprintable())
#字符串是否仅包含空格或制表符。注意:空格字符与空白是不同的
print (str.isspace())
#判断字符串每个单词的首字母是否大写
print (str.istitle())
#判断所有字母字符是否全部大写
print (str.isupper())
#'alex|jack|rain'
print ("|".join(['alex','jack','rain']))
#maketrans
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str = "this is string example....wow!!!"
print (str.translate(trantab))
#out: th3s 3s str3ng 2x1mpl2....w4w!!!
print (msg.partition('is'))
#out: ('my name ', 'is', ' {name}, and age is {age}')
#替换
print ("alex li, chinese name is lijie".replace("li", "LI", 1))
#大小写互换
str = "this is string example....wow!!!"
print (str.swapcase())
print (msg.zfill(40))
# out: 00000my name is {name}, and age is {age}
print (msg.ljust(40,"-"))
#my name is {name}, and age is {age}-----
print (msg.rjust(40, "-"))
#-----my name is {name}, and age is {age}
# 检测一段字符串可否被当作标志符,即是否符合变量命名规则
b="ddefdsdff_哈哈"
print (b.isidentifier())

4、字典操作

字典的特性:

dict是无序的

key必须是唯一的,so 天生去重

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/3/26 13:26
# @Author  : corasql
# @Site    : 
# @File    : dic.py
# @Software: PyCharm Community Edition
info = {
    'stu1101': "TengLan Wu",
    'stu1102': "LongZe Luola",
    'stu1103': "XiaoZe Maliya",
}
#增加
info["stu1104"] = "Python "
print (info)
#修改
info['stu1101'] ="test"
print (info)
#删除
info.pop("stu1101") #标准删除姿势
print (info)
del info['stu1103']  # 换个姿势删除
print (info)
#随机删除
info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'}
info.popitem()
print (info)
#查找
info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'}
print ("stu1102" in info) #标准用法
print (info.get("stu1102"))  #获取
print (info["stu1102"]) #同上,但是看下面
print (info["stu1105"])  #如果一个key不存在,就报错,get不会,不存在只返回None
#循环dict
#方法1
for key in info:
    print(key,info[key])
#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

5、集合操作

集合是一个无序的,不重复的数据组合,它的主要作用如下:

去重,把一个列表变成集合,就自动去重了

关系测试,测试两组数据之前的交集、差集、并集等关系

s = set([3,5,9,10])      #创建一个数值集合  
t = set("Hello")         #创建一个唯一字符的集合  
a = t | s          # t 和 s的并集  
b = t & s          # t 和 s的交集  
c = t – s          # 求差集(项在t中,但不在s中)  
d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

基本操作:  

t.add('x') 
 # 添加一项  
s.update([10,37,42])  
# 在s中添加多项  
使用remove()可以删除一项:  
t.remove('H')
len(s)  
set 的长度  
x in s  
测试 x 是否是 s 的成员  
x not in s  
测试 x 是否不是 s 的成员  
s.issubset(t)  
s <= t  
测试是否 s 中的每一个元素都在 t 中  
s.issuperset(t)  
s >= t  
测试是否 t 中的每一个元素都在 s 中  
s.union(t)  
s | t  
返回一个新的 set 包含 s 和 t 中的每一个元素  
s.intersection(t)  
s & t
返回一个新的 set 包含 s 和 t 中的公共元素  
s.difference(t)  
s - t  
返回一个新的 set 包含 s 中有但是 t 中没有的元素  
s.symmetric_difference(t)  
s ^ t  
返回一个新的 set 包含 s 和 t 中不重复的元素  
s.copy()  
返回 set “s”的一个浅复制

6、文件操作 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/3/26 14:00
# @Author  : corasql
# @Site    : 
# @File    : file.py
# @Software: PyCharm Community Edition
f = open('lyrics')  # 打开文件
first_line = f.readline()
print('first line:', first_line)  # 读一行
print('我是分隔线'.center(50, '-'))
data = f.read()  # 读取剩下的所有内容,文件大时不要用
print(data)  # 打印文件
f.close()  # 关闭文件

7、字符编码与转码 

需知:

1.在python2默认编码是ASCII, python3里默认是unicode

2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间

3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

python2
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/3/26 13:55
# @Author  : corasql
# @Site    : 
# @File    : decode2.py
# @Software: PyCharm Community Edition
import sys
print(sys.getdefaultencoding())
msg = "我爱北京天安门"
msg_gb2312 = msg.decode("utf-8").encode("gb2312")
gb2312_to_gbk = msg_gb2312.decode("gbk").encode("gbk")
print(msg)
print(msg_gb2312)
print(gb2312_to_gbk)
python3
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/3/26 13:51
# @Author  : corasql
# @Site    : 
# @File    : decode.py
# @Software: PyCharm Community Edition
import sys
print(sys.getdefaultencoding())
msg = "我爱北京天安门"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8")
print(msg)
print(msg_gb2312)
print(gb2312_to_unicode)
print(gb2312_to_utf8)

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

28

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

8

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

31

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

3

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

5

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

35

2026.01.26

个人所得税税率表2026 个人所得税率最新税率表
个人所得税税率表2026 个人所得税率最新税率表

以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。

12

2026.01.26

oppo云服务官网登录入口 oppo云服务登录手机版
oppo云服务官网登录入口 oppo云服务登录手机版

oppo云服务https://cloud.oppo.com/可以在云端安全存储您的照片、视频、联系人、便签等重要数据。当您的手机数据意外丢失或者需要更换手机时,可以随时将这些存储在云端的数据快速恢复到手机中。

40

2026.01.26

抖币充值官方网站 抖币性价比充值链接地址
抖币充值官方网站 抖币性价比充值链接地址

网页端充值步骤:打开浏览器,输入https://www.douyin.com,登录账号;点击右上角头像,选择“钱包”;进入“充值中心”,操作和APP端一致。注意:切勿通过第三方链接、二维码充值,谨防受骗

7

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 21.7万人学习

Django 教程
Django 教程

共28课时 | 3.5万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号