! /usr/bin/env python
-*- coding:utf-8 -*-
list 列表
在列表最后追加元素
li = [11, 22, 33, 44]
li.append("wentian")
print(li)
#清空列表所以元素
li = [11, 22, 33, 44]
li.clear()
print(li)
复制列表中的所有元素,浅复制
li = [11, 22, 33, 44]
v = li.copy()
print(v)
计算元素出现的次数
li = [11, 22, 33, 44]
v = li.count(1)
print(v)
#添加元素到列表中
li = [11, 22, 33, 44]
li.extend([0 , 12])
print(li)
根据值获取当前值索引位置(左边优先)
li = [11, 22, 33, 44]
v = li.index(44)
print(v)
在指定索引位置插入元素
li = [11, 22, 33, 44]
li.insert(-1 , 100)
print(li)
删除指定的索引值
li = [11, 22, 33, 44]
li.pop(0)
print(li)
删除列表中的指定值,左边优先
li = [11, 22, 33, 44]
li.remove(22)
print(li)
将当前列表进行翻转
li = [11, 22, 33, 44]
li.reverse()
print(li)
列表的排序
li = [11, 22, 33, 44]
li.sort(reverse=True)
print(li)
###################################### 深灰魔法#######################################
1. 列表格式
2. 列表中可以嵌套任何类型
中括号括起来,分割每个元素
列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
“集合”,内部放置任何东西
索引取出数值,和切片取出数值
li = [11, 22, 33, 44]
print(li[3])
print(li[1:3])
循环取出数值
for itmein li:
print(itme)
i =0
# print(len(li))
while i
print(li[i])
i = i +1
列表元素,可以被修改
##########索引
li = [11, 22, 33, 44]
修改
li[0] =110
print(li)
#删除
del li[1]
print(li)
##############切片
#修改
# li[1:3] = [11,12]
# print(li)
#
# #删除
# del li[1:3]
# print(li)
####in操作
in 查找第一层列表,第二层找不到,返回值bool
li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
v1 ="石头" in li
v2 ="age" in li
print(v2)
print(v1)
9 操作
li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
print(li[4][1][0])#找下标为4中下标为1中下标为0的数据并且输出
print(s)
s =123
把字符串转换为int类型
a ="123"
a =int(a)
print(a)
把字符串转换为str类型
a =123
a =str(a)
print(type(a))
把字符串转换为列表类型
s ="pouaskdfauspdfiajsdkfj"
# li = list(s)
# print(li)
循环取出
li = ['1' , '2' , 2 , 3 , 4]
print(li)
s =""
for i in li:
s = s +str(i)
print(type(s))
直接使用字符串join方法:列表中的元素只有字符串
li = ['1' , '2']
i =''.join(li)
print(i)
## 补充:字符串创建后,不可修改
元组,元素不可被修改,不能被增加或者删除
tuple
获取指定元素在元组中出现的次数
li = (11,11,22,33)
# l = li.count(11)
# print(l)
#获取指定元素在元组中的索引
l = li.index(22)
print(l)
索引
li = (11,11,22,33)
v = li[3]
print(v)
切片
li = (11,11,22,33)
# v = li[0:2] #获取两个值 大于0小于2的值 就是 0和1的值
# print(v)
#可以被for循环,是可迭代对象
for iin li:
print(i)
5. 转换
字符串转换为元组
s ="asdfasdf0"
li = ["asdf","asdfasdf"]
tu = ("asdf","asdf")
v =tuple(s)
print(v)
#列表转换为元组
v1 =tuple(li)
print(v1)
#元组转化为列表
v2 =list(tu)
print(v2)
#join连接元组字符串
v3 ="".join(tu)
print(v3)
在列表后面追加数字
li = ["asdf","asdfasdf"]
li.extend((11,22,33,))
print(li)
6.元组的一级元素不可修改/删除/增加
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
#找到元组中列表下元组中的44值
t = tu[3][0][1]
print(t)#44
print(tu[2][1])#22
print(tu[3][0])#(33, 44)
####################字典
dict
v = {
"key1":'3',
"key2":'字典'
}
print(v)
#可以被for循环是可迭代
for iin v:
print(i)
1 根据序列,创建字典,并指定统一的值
[key]后面123是所以key的值
v =dict.fromkeys(["k1",123,"999"],123)
print(v)
输出结果:{'k1':123, 123:123, '999':123}
2 根据Key获取值,key不存在时,可以指定默认值(None)
v = {
"key1":'3',
"key2":'字典'
}
key不存在,指定默认值
v = v.get('key111' , 222)
print(v)
i = v.pop('key1' , 90)
print(v, i)
k,i = v.popitem()
print(v, k, i)
4 设置值,
已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值
v = {
"k1":'v1',
"k2":'v2'
}
i = v.setdefault("k1" , 111)
print(v,i)
i = v.setdefault("k1111" , 111)
print(v,i)
更新值
v = {
"k1":'v1',
"k2":'v2'
}
v.update({"k1":'zhi' , "k2":'222'})
print(v)
#更新值并且追加值
v.update(k1=123 , k2=345 , k5="123")
print(v)
1、基本机构
info = {
"k1":"v1", # 键值对
"k2":"v2"
}
### 2 字典的value可以是任何值
v = {
"k1":'123',
"k2":123,
"k3":[
111,
3333,
4444,
],
"k4":(
111,34434,54545
),
"k5":'加油'
}
print(v)
### 3 布尔值(1,0)、列表、字典不能作为字典的key
v = {
1:'dsadasd',
"k2":312312,
true:3123214124214,
[11,32]:326546,
(11,23):3213
}
print(v)
4字典无序
v = {
"kg":'123',
"kh":123,
"k9":[
111,
3333,
4444,
],
"kjh":(
111,34434,54545
),
"khf":'加油'
}
print(v)
索引方式找到指定元素
v = {
"kg":'123',
"kh":123,
"k9":[
111,
3333,
4444,
],
"kjh":(
111,34434,54545
),
"khf":'加油'
}
v1 = v['k9'][2]
print(v1)
v = {
"kg":'123',
"kh":123,
"k9":[
111,
3333,
4444,
],
"kjh":(
111,34434,54545
),
"khf":'加油'
}
del v['kg']
del v['k9'][0]
print(v)
for循环默认输出键值
for i in v:
print(i)
循环输出键值
for i in v.keys():
print(i)
循环输出内容
for i in v.values():
print(i)
循环输出键值和内容
for k,i in v.items():
print(k, i)
True 1 False 0可以作为字典键
info ={
"k1":'asdf',
True:"123",
# [11,22]: 123
(11,22):123,
# {'k1':' v1'}: 123
}
print(info)
###################### 整理#################
一、数字
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,索引
dic = {
"k1":'v1'
}
v ="k1" in dic
print(v)
v ="v1" in dic.values()
print(v)
六、布尔值
0 1
bool(...)
None "" () [] {}0 ==>False