基本数据类型:list、tuple、dict常用 基础第三天 2018.10.15
基本数据类型:list、tuple、dict
list(列表):有序
1.列表的格式:中括号括起来[];用,分隔每个元素
2.列表中可以嵌套任何类型: 列表中的元素可以是数字,字符串,列表,布尔值...所有的都可以放入(相当于一个“集合”,内部可以放置任何东西)
3.列表取值:索引(根据下标取值);切片(start:end:step),切片的结果也可以是列表
4.循环:字符串转换成列表 li=list('gbtyuhjmik'),内部使用for循环;list把某个东西转换成列表时内部调用for循环;列表转换成字符串时需要自己写for循环,一个一个处理,列表既有数字又有字符串
s=['hnjjk',11,'byuhjik',82,'mk']
a=''
for i in s:
a=a+str(i)
print(a)
列表中的元素只有字符串,直接用join转换;判断...in...;列表的元素可以被修改和删除(索引、切片)
li = ["123","alex"] v = "".join(li) print(v)
列表常用操作(10方法1关键字)
1>append:在列表末尾添加元素
2>extend:将一个列表中元素追加到另一个列表中
3>count:统计某个元素在列表中出现的次数
4>index:找出列表中第一个某个值的第一个匹配项的索引位置,如果找不到则抛出一个异常
5>clear:清空列表
6>insert:将某个值插入到列表中的某个位置
7>pop:移除列表中最后一个元素,并返回该元素的值 按下标
8>remove:移除列表中的第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常 按值
9>reverse:将列表中的元素反向存储。会更改原来列表中的值
10>sort:将列表中的元素进行排序。会更改原来列表中的位置
11>del关键字:根据下标删除元素
shuiguo=['apple']
shuiguo.append('banana')
temp=['yo','be','cn','ye','es','df','yo','ui','yo']
print(temp.count('yo'))
a1=[1,2,3] #a.extend(b),extend方法没有返回值,所以相当于把None复制给了c
b1=[4,5,6]
c3=a1.extend(b1)
print(a1) #会改变原来的列表,因此需要输出原来已经改变列表的名字
knight=['hello','world','!','hello'] #找出某个值(第一个匹配项)的索引位置
print(knight.index('hello')) #0,1,2,3
char=['hello','world','!']
char.insert(1,'good morning')
print(char) #和extend一样
x=[1,2,3]
temp=x.pop(2) #和extend,insert一样
print(x) #删除某个索引位置上的元素
x=[1,0,2,3]
x.remove(2)
print(x)
x=[1,2,3]
x.reverse()
print(x)
x=[0,9,3,6,1] #sorted函数不会更改原来列表的位置,并且会返回一个排序后的值
x.sort()
print(x)
y=sorted(x)
print(y)
tuple(元组):有序(一级元组不可被修改,删除,增加;嵌套列表时可以被修改)
元组格式:用()括起来;元素间,分隔;一般写元组时在最后加,---->便于明显看出是元组,也可以不加
元组中可以嵌套任何类型
取值:切片、索引(可以被for循环,可迭代对象)
转换:元组<--->列表<--->字符串可以相互转换
count:获取指定元素在元组中出现的次数
index:获取某个值的索引位置
tu = (111,"alex",(11,22),[(33,44)],True,33,44,) v = tu[3][0][0] print(v) v=tu[3] print(v) tu[3][0] = 567 print(tu)
dict(字典):按照哈希表存储,无序(无法进行切片操作)
△keys() values() items() get update
键值对(keys,values):
字典的keys 列表、字典不能当keys
字典的values可以是任何
取值时取keys就可以,索引找;keys重复时间只能保留一个 true默认1 false默认0
可以用关键字del删除
for循环时:默认循环所有的keys;.keys循环所有的keys;.values循环所有的values;.items循环所有的键值对
.fromkeys( 键,值)根据序列来创建字典,并指定统一的值
.get( ,)根据key获取值,key不存在时可以指定值或默认值删除并获取删除值
.pop( ,)删除指定keys,keys不存在时删除默认值
.popitem()随机删除一个键值对
.setdefault()设置值,
已存在,不设置,获取当前keys对应的值
不存在,设置,获取当前keys对应的值
.update()更新
支持del删除
v = dict.fromkeys(["k1",123,"999"],123)
print(v)
dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.pop('k1',90)
print(dic,v)
k,v = dic.popitem()
print(dic,k,v)
dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.setdefault('k1111','123')
print(dic,v)
dic = {
"k1": 'v1',
"k2": 'v2'
}
dic.update({'k1': '111111','k3': 123})
print(dic)
dic.update(k1=123,k3=345,k5="asdf")
print(dic)
info = {
"k1": "v1", # 键值对
"k2": "v2"
}
### 2 字典的value可以是任何值
info = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
print(info)
v = info['k1']
print(v)
a= info[2]
print(a)
c = info['k3'][5]['kk3'][0]
print(c)
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
del info['k1']
del info['k3'][5]['kk1']
print(info)
dict
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for item in info:
print(item)
for item in info.keys():
print(item)
for item in info.values():
print(item)
for item in info.keys():
print(item,info[item])
for k,v in info.items():
print(k,v)
一、数字 int(..)
二、字符串 replace/find/join/strip/startswith/split/upper/lower/format
tempalte = "i am {name}, age : {age}"
v = tempalte.format(name='alex',age=19)
v = tempalte.format(**{"name": 'alex','age': 19})
print(v)
三、列表 append、extend、insert 索引、切片、循环
四、元组 索引、切片、循环 一级元素不能被修改
五、字典 get/update/keys/values/items for,索引
六、布尔值 0 1 ; bool(...);None "" () [] {} 0 ==> False
浙公网安备 33010602011771号