前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3–元祖+列表+字典

python3–元祖+列表+字典

作者头像
老七Linux
发布2018-05-31 11:33:36
1.2K0
发布2018-05-31 11:33:36
举报

列表

Python 列表(List)
  • 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
  • 列表的数据项不需要具有相同的类型。
  • 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
代码语言:javascript
复制
student = ["zhdya", "zhansan", "lisi","wangwang"]

print(student)
输出:
['zhdya', 'zhangsan', 'lisi', 'wangwang']
List的方法
index

index中跟的是对象,返回值是对象的下标!

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi","wangwang"]

print(student.index("zhangsan"))
输出:
1
reverse

反转,将列表中的元素进行反转:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi","wangwang"]
student.reverse()
print(student)
输出:
['wangwang', 'lisi', 'zhangsan', 'zhdya']
count

统计列表中元素的个数:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi","wangwang"]
print(student.count("zhdya"))
输出:
1
insert

插入一个元素,传入两个参数,一个是下标,一个是元素:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi","wangwang"]
student.insert(4, "www")
print(student)
输出:
['zhdya', 'zhangsan', 'lisi', 'wangwang', 'www']
pop

删除给定下标的元素:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
student.pop(3)
print(student)
输出:
['zhdya', 'zhangsan', 'lisi']
sort

排序,按照ascall码来对list中的元素排序:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
student.sort()
print(student)
输出:
['lisi', 'wangwang', 'zhangsan', 'zhdya']
append

在list末尾追加元素:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
student.append("hahah")
print(student)
输出:
['zhdya', 'zhangsan', 'lisi', 'wangwang', 'hahah']
clear

清除list中的所有元素:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
student.clear()
print(student)
输出:
[]
copy

复制:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
student2 = student.copy()
print(student2)
输出:
['zhdya', 'zhangsan', 'lisi', 'wangwang']
remove

移除list中某个元素:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
student.remove("lisi")
print(student)
输出:
['zhdya', 'zhangsan', 'wangwang']
extend

叠加另外一组list到目前的list:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]
a = ["aa","bb", "cc"]
student.extend(a)
print(student)
输出:
['zhdya', 'zhangsan', 'lisi', 'wangwang', 'aa', 'bb', 'cc']
列表的强制转换

有时候我们需要把list转换为字符串结构,这个时候我们只需要用字符串的方法即可:

join 可以把列表转成字符串:

代码语言:javascript
复制
student = ["zhdya", "zhangsan", "lisi", "wangwang"]

print("---".join(student))
输出:
zhdya---zhangsan---lisi---wangwang

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号 : 分割,每个对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

代码语言:javascript
复制
d = {key1 : value1, key2 : value2 }
  • key:value 模式
  • 键(key)必须是唯一的,但值(value)则可以更改。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

当然也可以这样定义,最常用的一种模式:

代码语言:javascript
复制
x = dict()
y = dict(a=2)
print(y)
输出:
{'a': 2}

或:

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}
print(zhdya)
输出:
{'name': 'zhangduanya', 'sex': 'man', 'address': 'suzhou'}
字典的方法:
get

给出一个key,取出这个key对应的value值

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}

print(zhdya.get("name"))
输出:
zhangduanya

再或者,如果传入的key没有对应的value?

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}

print(zhdya.get("name1", "zzzzz"))  //把赋值直接输出
输出:
zzzzz
pop

删除给定key的value值。返回值就是删除的那个值。

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}

print(zhdya.pop("name"))
输出:
zhangduanya
keys

打印出字典中所有的key

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}

print(zhdya.keys())
输出:
dict_keys(['name', 'sex', 'address'])
values

打印出字典中所有的values

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}

print(zhdya.values())
输出:
dict_values(['zhangduanya', 'man', 'suzhou'])
items

打印出字典中所有的key和value的值

代码语言:javascript
复制
zhdya = {"name":"zhangduanya", "sex":"man", "address":"suzhou"}

print(zhdya.items())
输出:
dict_items([('name', 'zhangduanya'), ('sex', 'man'), ('address', 'suzhou')])

或者如下一个一个的打印:

代码语言:javascript
复制
for i in zhdya.items():
    print(i)
输出:
('name', 'zhangduanya')
('sex', 'man')
('address', 'suzhou')

或者经常用到的赋值:

代码语言:javascript
复制
a,b = ("aa", "zz")      //函数传参的最常用方式。其赋值的元素不可以再次更改。
print(a)
print(b)
输出:
aa
zz

快捷键:ctrl + alt + l 可以自动的调节pycharm中写的脚本

update

update的这个方法类似于 +,起到连接的作用:

代码语言:javascript
复制
a = dict(a=1, b=2)
b = dict(x=10, y=20)
a.update(b)
print(a)
输出:
{'a': 1, 'b': 2, 'x': 10, 'y': 20}
fromkeys //不常用

批量赋值操作:

代码语言:javascript
复制
y = dict()
x = ["aa", "bb", "cc"]

yy = y.fromkeys(x, "hello")

print(yy)
输出:
{'aa': 'hello', 'bb': 'hello', 'cc': 'hello'}

高阶函数的赋值方式:

代码语言:javascript
复制
a = ["aa", "bb", "cc"]
b = [11, 22, 33]

print(dict(zip(a, b)))
输出:
{'aa': 11, 'bb': 22, 'cc': 33}

判断是否是某一个函数:
代码语言:javascript
复制
a = ["aa", "bb", "cc"]
b = (11, 22, 33)

print(isinstance(a, list))
print(isinstance(a, dict))
print(isinstance(b, tuple))
输出:
True
False
True
判断某个函数是否有某个方法
代码语言:javascript
复制
a = ["aa", "bb", "cc"]
b = (11, 22, 33)

print(hasattr(a, "append"))
print(hasattr(a, "del"))
输出:
True
False

捕获异常语句:(第一句的raw_input这个方法在python3是不存在的,但是使用try函数是不会影响输出的)

代码语言:javascript
复制
try:
    name = raw_input("pls input your name: ")

except Exception as e:      //捕获除与程序退出sys.exit()相关之外的所有异常。
    name = input("pls input your name: ")

finally:
    print("hello {0}".format(name))

日常工作中经常用到的赋值方式:

之前提到了赋值方式:

代码语言:javascript
复制
a, b = ["11", "22"]

print(a)
print(b)
输出:
11
22
enumerate
代码语言:javascript
复制
xx = ["aa", "bb", "cc", "dd"]

for i,j in enumerate(xx):
    print(i,j)
输出:
0 aa
1 bb
2 cc
3 dd

元祖

  • Python的元组与列表类似,不同之处在于元组的元素不能修改
  • 元组使用小括号,列表使用方括号。
  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组的单元素

代码语言:javascript
复制
a = (1,)
print(type(a))
<type 'tuple'>

b = ('abc')
print(type(b))
<type 'str'>
元组内置函数
len(tuple)

计算元组元素个数。

代码语言:javascript
复制
>>> tuple1 = ('Google', 'baidu', 'Taobao')
>>> len(tuple1)
3
max(tuple)

返回元组中元素最大值。

代码语言:javascript
复制
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
min(tuple)

返回元组中元素最小值。

代码语言:javascript
复制
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
tuple(seq)

将列表转换为元组。

代码语言:javascript
复制
>>> list1= ['Google', 'Taobao', 'www', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'www', 'Baidu')
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/07/07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列表
    • Python 列表(List)
      • List的方法
        • index
        • reverse
        • count
        • insert
      • pop
        • sort
        • append
        • clear
        • copy
        • remove
        • extend
        • 列表的强制转换
    • 字典
      • 字典的方法:
        • get
        • pop
        • keys
        • values
        • items
        • update
        • fromkeys //不常用
      • 判断是否是某一个函数:
        • 判断某个函数是否有某个方法
          • enumerate
      • 元祖
        • 元组内置函数
          • len(tuple)
          • max(tuple)
          • min(tuple)
          • tuple(seq)
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档