python视频教程栏目介绍第二篇Python基础知识。
本系列Python基础教程共四篇,本文是第二篇。
6.2 元组
tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义。
- 支持索引和切片操作
- 可以使用 in查看一个元素是否在tuple中。
- 空元组()
- 只含有一个元素的元组("a",) #需要加个逗号
优点:tuple比list速度快;对不需要修改的数据进行‘写保护’,可以是代码更安全
tuple与list可以相互转换,使用内置的函数list()和tuple()。
l = [1, 2, 3] print( l )# [1, 2, 3]t = tuple(l) print(t) # (1, 2, 3)l = list(t)print (l) #[1, 2, 3]复制代码
元组最通常的用法是用在打印语句,如下例:
name = "Runsen"age = 20print( "Name: %s; Age: %d") % (name, age)# Name: Runsen; Age: 20复制代码
函数如下:
- count(value)
返回元组中值为value的元素的个数
t = (1, 2, 3, 1, 2, 3)print (t.count(2) )# 2复制代码
- index(value, [start, [stop]])
返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError
t = (1, 2, 3, 1, 2, 3) print( t.index(3) )# 2try: print (t.index(4))except ValueError as V: print(V) # there is no 4 in tuple复制代码
6.3 字典
字典由键值对组成,键必须是唯一的;
eg: d = {key1:value1, key2:value2};
空字典用{}表示;字典中的键值对是没有顺序的,如果想要一个特定的顺序,那么使用前需要对它们排序;
d[key] = value
,如果字典中已有key
,则为其赋值为value
,否则添加新的键值对key/value
;
本文来源gaodai#ma#com搞*代#码9网#
使用del d[key]
可以删除键值对;判断字典中是否有某键,可以使用in 或 not in;
d = {} d["1"] = "one"d["2"] = "two"d["3"] = "three"del d["3"]for key, value in d.items(): print ("%s --> %s" % (key, value))#1 --> one#2 --> two复制代码
dict函数如下:
- clear()
删除字典中所有元素
d1 = {"1":"one", "2":"two"} d1.clear()print (d1 )# {}复制代码
- copy()
返回字典的一个副本(浅复制)
d1 = {"1":"one", "2":"two"} d2 = d1.copy() print( d2 )#{'1': 'one', '2': 'two'}print(d1 == d2) # Trueprint(d1 is d2) # False复制代码
浅复制值相同,但是对象不同,内存地址不同。
- dict.fromkeys(seq,val=None)
创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None)
l = [1, 2, 3] t = (1, 2, 3) d3 = {}.fromkeys(l)print (d3) #{1: None, 2: None, 3: None}d4 = {}.fromkeys(t, "default") print(d4) #{1: 'default', 2: 'default', 3: 'default'}复制代码
- get(key,[default])
返回字典dict中键key对应值,如果字典中不存在此键,则返回default的值(default默认值为None)
d5 = {1:"one", 2:"two", 3:"three"}print (d5.get(1) )#oneprint (d5.get(5)) #Noneprint (d5.get(5, "test") )#test复制代码
- has_key(key)