dic
内置函数
map(f,list) f接收一个参数
def format_name(s):
return s[0].upper() + s[1:].lower()
reduce(f,list)f函数接收2个参数 如果接收3个参数第三个做初始值
def prod(x, y):
return x * y
filter(f,list) f判断函数 返回符合判断的list元素
def is_odd(x):
return x % 2 == 1
sorted() 传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
def format_name(s):
return s[0].upper() + s[1:].lower() 首字母大写 后面的小写
L= [1,2,3]
print sum(L) 求和函数
return math.sqrt(x) == int(math.sqrt(x)) 开平方和取整
dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
列表 L = [1,2,3]
元组 t = (1,2,[1,2,3])
字典 d = {key1:value1, key2:value2} d1 = {"1":"one", "2":"two"}
L= []
L.append ---向列表尾添加项value
L.insert insert(i, value) ---向列表i位置插入项vlaue,如果没有i,则添加到列表尾部
L.extend 表尾添加一个list
L.pop 按索引删除 L.remove 按值删除 L.index 某个值的索引号是多少
L.count 某个值出现的次数 t = ()
t.count(value)
t.index(value) d = {}
d.clear()
d2 = d.copy()
l = [1, 2, 3]
t = (1, 2, 3)
d3 = {}.fromkeys(l) 创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None) print d3 #{1: None, 2: None, 3: None}
d4 = {}.fromkeys(t, "default")
print d4 #{1: 'default', 2: 'default', 3: 'default'}
d3 = {}.fromkeys(l,t) print d3 #{1: (11, 22, 33), 2: (11, 22, 33), 3: (11, 22, 33)} d.get(key) 结果是value 返回字典dict中键key对应值,如果字典中不存在此键,则返回default 的值(default默认值为None)
d6 = {1:"one", 2:"two", 3:"three"}
print d5.get(1) #one
print d5.get(1,"zzx") #one
print d5.get(5) #None
print d5.get(5, "test") #test
has_key(key) ---判断字典中是否有键key
d6 = {1:"one", 2:"two", 3:"three"}
print d6.has_key(1) #True
print d6.has_key(5) #False
items() ---返回一个包含字典中(键, 值)对元组的列表

d7 = {1:"one", 2:"two", 3:"three"}
for item in d7.items():
print item
#(1, 'one')
#(2, 'two')
#(3, 'three')
for key, value in d7.items():
print "%s -- %s" % (key, value)
#1 -- one
#2 -- two
#3 -- three

keys() ---返回一个包含字典中所有键的列表

d8 = {1:"one", 2:"two", 3:"three"}
for key in d8.keys():
print key
#1
#2
#3

values() ---返回一个包含字典中所有值的列表

d8 = {1:"one", 2:"two", 3:"three"}
for value in d8.values():
print value
#one
#two
#three

pop(key, [default]) ---若字典中key键存在,删除并返回dict[key],若不存在,且未给出default值,引发KeyError异常

d9 = {1:"one", 2:"two", 3:"three"}
print d9.pop(1) #one
print d9 #{2: 'two', 3: 'three'}
print d9.pop(5, None) #None
try:
d9.pop(5) # raise KeyError
except KeyError, ke:
print "KeyError:", ke #KeyError:5

popitem() ---删除任意键值对,并返回该键值对,如果字典为空,则产生异常KeyError
d10 = {1:"one", 2:"two", 3:"three"}
print d10.popitem() #(1, 'one')
print d10 #{2: 'two', 3: 'three'}
setdefault(key,[default]) ---若字典中有key,则返回vlaue值,若没有key,则加上该key,值为default,默认None

d = {1:"one", 2:"two", 3:"three"}
print d.setdefault(1) #one
print d.setdefault(5) #None
print d #{1: 'one', 2: 'two', 3: 'three', 5: None}
print d.setdefault(6, "six") #six
print d #{1: 'one', 2: 'two', 3: 'three', 5: None, 6: 'six'}

update(dict2) ---把dict2的元素加入到dict中去,键字重复时会覆盖dict中的键值
d = {1:"one", 2:"two", 3:"three"}
d2 = {1:"first", 4:"forth"}
d.update(d2)
print d #{1: 'first', 2: 'two', 3: 'three', 4: 'forth'}
viewitems() ---返回一个view对象,(key, value)pair的列表,类似于视图。优点是,如果字典发生变化,view会同步发生变化。在
迭代过程中,字典不允许改变,否则会报异常
d = {1:"one", 2:"two", 3:"three"}
for key, value in d.viewitems():
print "%s - %s" % (key, value)
#1 - one
#2 - two
#3 - three
viewkeys() ---返回一个view对象,key的列表
d = {1:"one", 2:"two", 3:"three"}
for key in d.viewkeys():
print key
#1
#2
#3
viewvalues() ---返回一个view对象,value的列表
d = {1:"one", 2:"two", 3:"three"}
for value in d.viewvalues():
print value
#one
#two
#three
dic的更多相关文章
- python征程3.1(列表,迭代,函数,dic,set,的简单应用)
1.列表的切片. 1.对list进行切片.'''name=["wangshuai","wangchuan","wangjingliang", ...
- Python_Day_03 list,dic,tuple方法总结
编程语言中最长见的几种数据类型,字典,列表,等.同样在Python中也有这些数据类型,只是有些表现形式不同.同时在Python中又多了一种叫做元组(tuple)的东西. list(列表) 初始化列表 ...
- iOS不使用JSONKit做Dic到JsonString的转换
NSDictionary to jsonString [self DataTOjsonString:dic] -(NSString*)DicToJsonString:(id)object { NSSt ...
- iOS -- 给model赋值时走了[self setValuesForKeysWithDictionary:dic]不走setvalue: forked:
这是一个小坑, 看看你的BaseModel的便利构造器的方法: + (__kindof BaseModel *)modelWithDic:(NSDictionary *)dic { return [[ ...
- Python中的List,Tuple,Dic,Set
Python中的List,Tuple,Dic,Set List定义 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推 ...
- Ansj分词双数组Trie树实现与arrays.dic词典格式
http://www.hankcs.com/nlp/ansj-word-pairs-array-tire-tree-achieved-with-arrays-dic-dictionary-format ...
- hashTabel List 和 dic
hashTabel List 和 dic 原:https://www.cnblogs.com/jilodream/p/4219840.html .Net 中HashTable,HashMap 和 ...
- python dic字典使用
#!/usr/bin/env python -*-''' 字典的基本组成及用法: dict={key:value} dict[key]=value 字典是无序的. key值是唯一属性,一对一,几个ke ...
- 批量操作RunTime之获取的Dic换成Model
方法一: // // AlinkDeviceInfo.m //// // Created by Vivien on 2018/10/12. // Copyright © 2018年 . All rig ...
- PaodingAnalysis 提示 "dic home should not be a file, but a directory"
Exception in thread "main" net.paoding.analysis.exception.PaodingAnalysisException: dic ho ...
随机推荐
- solus linux 更新源
添加源(清华大学开源软件镜像)sudo eopkg ar Solus https://mirrors.tuna.tsinghua.edu.cn/solus/shannon/eopkg-index.xm ...
- hashCode() 和 equals()的问题解答及重写示范
本章的内容主要解决下面几个问题: 1 equals() 的作用是什么? 2 equals() 与 == 的区别是什么? 3 hashCode() 的作用是什么? 4 hashCode() 和 equa ...
- linux内核链表的实现
.\linux-2.6.22.6_vscode\include\linux\list.h #ifndef _LINUX_LIST_H#define _LINUX_LIST_H #ifdef __KER ...
- 中文文本分类之CharCNN
文本分类是自然语言处理中一个非常经典的任务,可用的模型非常多,相关的开源代码也非常多了.这篇博客用一个CNN模型,对新闻文本进行分类. 全部代码有4个模块:1.数据处理模块(命名为:cnews_loa ...
- python计算:pi/4=1-1/3+1/5-1/7+…
当有一项的绝对值小于10e-6停止计算 def cul() : ans = 0;add = 1 sign = 1 while(1/add>10**(-6)) : ans = ans + sign ...
- 升级安装go1.13.5
运行文件时报错 verifying github.com/mattn/go-isatty@v0.0.10-0.20190818123653-bf9a1dea1961/go.mod: github.co ...
- 092-PHP定义索引数组
<?php $arr=array('name'=>'PHP','age'=>22,7=>25,33,21=>35,56); //定义一个索引数组 echo '数组$arr ...
- 061-PHP函数定义默认参数
<?php function add($x=2,$y=3){ //定义函数并设置默认参数 return $x+$y; } echo add(); //不传入参数调用add函数add(2,3) e ...
- Java 二叉树深度 判断平衡二叉树
package cookie; public class BTreeDepthIsBalanced { int depth(BNode head) { if (head == null) { retu ...
- 错误:selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities
错误再现 原因:firefox浏览器版本和浏览器驱动版本不匹配 解决办法:卸载高版本浏览器,安装低版本浏览器