Python 官方文档:入门教程 => 点击学习
列表list:打了激素的数组 数组是只能存储同一种数据类型的结构; 数组: scores[43] = [12, 12.0, "hello"] 元组tuple # 定义列表 li = [1, 1.0, "westos", (1,2,3,
数组是只能存储同一种数据类型的结构;
数组: scores[43] = [12, 12.0, "hello"]
t = (1, 1.0, "westos", (1,2,3,4), [1,2,3,4])
输出:
[1, 1.0, 'westos', (1, 2, 3, 4), [1, 2, 3, 4]]
(1, 1.0, 'westos', (1, 2, 3, 4), [1, 2, 3, 4])6', '172.25.254.250', '172.25.254.45', '172.25.56.21']
改
# 通过列表的索引,对列表某个索引值重新赋值;字典(dict)
字典创建:
1)赋值创建字典
2)通过工厂函数创建字典
# 赋值创建字典 , key-value , 键值对
d = {"key1":"value1", "key2":"value2"}
print d
{'key2': 'value2', 'key1': 'value1'}
In [2]:
services = {"ssh":22, "ftp":[20,21], "Http":[80, 8080]}
print services
{'ftp': [20, 21], 'http': [80, 8080], 'ssh': 22}
In [3]:
# 通过工厂函数创建字典
userinfo = dict(user1="123", user2="456", user3 ="789")
print userinfo
{'user2': '456', 'user3': '789', 'user1': '123'}
In [14]:
# 通过字典的 fromkeys 方法创建字典,所有元素有一个默认值;
# 如果没有指定默认值,默认为 None;
print {}.fromkeys("hello")
# 给每个元素设置默认值为 "123";
print {}.fromkeys(["user1", "user2", "user3"], "123")
{'h': None, 'e': None, 'l': None, 'o': None}
{'user2': '123', 'user3': '123', 'user1': '123'}
分析字典的特性(跟元组和列表比较)
字典不能索引和切片,因为字典是无序的数据类型;
字典不支持重复和连接;
字典支持成员操作符: 判断字典的key值是否在字典中存在; in, not in字典的增删改查
一 增
字典名[key] = value
d.update(a=1, b=2)
d.update({'a':1, 'b',2})
d.setdefault('a', 1)
** 重点: setdefault 和 update方法的不同
services = {"ftp":[20,21]}
# 通过字典名 [key]=value, 将 key-value 添加到字典中 ;
services['http'] = [80, 8080]
print services
{'ftp': [20, 21], 'http': [80, 8080]}
# update 方法实现添加: key 存在,覆盖 value 值, 否则,添加
services = {"ftp":[20,21]}
services1 = {'http':[80,8080]}
# services.update(services1)
# print services
# 更建议使用
services.update(http=[80,8080], ftp=22)
print services
{'ftp': 22, 'http': [80, 8080]}
# setdefault 实现添加: key 存在,不覆盖 value 值, 否则,添加
services = {"ftp":[20,21]}
services1 = {'http':[80,8080]}
services.setdefault("ftp", 22)
print services
{'ftp': [20, 21]}
二 改
字典名[key]=value
d.update({'a':2, 'b':3})
d.update(a=2, b=3)
三 查:
services = {'ftp': 22, 'http': [80, 8080]}
# 查看 key 值
services.keys()
services.viewkeys()
services.iterkeys()
# 给 key 起名字
# 查看 value 值
services.values()
# 查看 key-value 键值对
services.items()
[('ftp', 22), ('http', [80, 8080])]
# 查看 key 是否存在 ;
services.has_key('ftpp')
# 查看指定 key 对应的 value 值;如果 key 不存在,不报错; 如果存在,返回 value 值;
# services['ftp'] 如果 key 不存在,直接报错;
services.get('ftpp')
四 删
d.pop(key) 删除指定 key 的字典元素;
d.popitem() 随机删除字典的 key-value 元素 ;
del d[key] 删除指定 key 的字典元素;
d.clear() 清空字典元素
循环遍历字典
In [41]:
for i,j in services.items():
print i,j
ftp 22
http [80, 8080]
In [43]:
# 默认情况下遍历字典的 key 值;
for i in services:
print i
ftp
http
字典应用
应用1: 通过字典实现case语句
目前python不支持case语句;
实现case语句的两种方式:
if...elif...elif...else...
字典实现In [ ]:
# if...elif...elif...else... 实现:
#coding:utf-8
"""
# 实现四则运算
- 用户分别输入第一个数字,运算操作符,第三个数字;
- 根据用户的运算操作打印出运算结果;
"""
from __future__ import division
num1 = input()
ope = raw_input()
num2 = input()
# case 语句
if ope == "+":
print num1+num2
elif ope == "-":
print num1-num2
elif ope == "*":
print num1*num2
elif ope == "/":
print num1/num2
else:
print "error operator"In [ ]:
# 字典实现 case 语句
#coding:utf-8
"""
# 实现四则运算
- 用户分别输入第一个数字,运算操作符,第三个数字;
- 根据用户的运算操作打印出运算结果;
"""
from __future__ import division
num1 = input()
ope = raw_input()
num2 = input()
d = {
"+":num1+num2,
"-":num1-num2,
"*":num1*num2,
"/":num1/num2,
}
if not ope in d:
print "error operator"
else:
print d[ope]
--结束END--
本文标题: python(3)字典及列表
本文链接: https://lsjlt.com/news/189028.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0