! /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)
復(fù)制列表中的所有元素,淺復(fù)制
li = [11, 22, 33, 44]
v = li.copy()
print(v)
計算元素出現(xiàn)的次數(shù)
li = [11, 22, 33, 44]
v = li.count(1)
print(v)
#添加元素到列表中
li = [11, 22, 33, 44]
li.extend([0 , 12])
print(li)
根據(jù)值獲取當(dāng)前值索引位置(左邊優(yōu)先)
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)
刪除列表中的指定值,左邊優(yōu)先
li = [11, 22, 33, 44]
li.remove(22)
print(li)
將當(dāng)前列表進(jìn)行翻轉(zhuǎn)
li = [11, 22, 33, 44]
li.reverse()
print(li)
列表的排序
li = [11, 22, 33, 44]
li.sort(reverse=True)
print(li)
###################################### 深灰魔法#######################################
1. 列表格式
2. 列表中可以嵌套任何類型
中括號括起來,分割每個元素
列表中的元素可以是 數(shù)字,字符串,列表,布爾值..所有的都能放進(jìn)去
“集合”,內(nèi)部放置任何東西
索引取出數(shù)值,和切片取出數(shù)值
li = [11, 22, 33, 44]
print(li[3])
print(li[1:3])
循環(huán)取出數(shù)值
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])#找下標(biāo)為4中下標(biāo)為1中下標(biāo)為0的數(shù)據(jù)并且輸出
print(s)
s =123
把字符串轉(zhuǎn)換為int類型
a ="123"
a =int(a)
print(a)
把字符串轉(zhuǎn)換為str類型
a =123
a =str(a)
print(type(a))
把字符串轉(zhuǎn)換為列表類型
s ="pouaskdfauspdfiajsdkfj"
# li = list(s)
# print(li)
循環(huán)取出
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)
## 補充:字符串創(chuàng)建后,不可修改
元組,元素不可被修改,不能被增加或者刪除
tuple
獲取指定元素在元組中出現(xiàn)的次數(shù)
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循環(huán),是可迭代對象
for iin li:
print(i)
5. 轉(zhuǎn)換
字符串轉(zhuǎn)換為元組
s ="asdfasdf0"
li = ["asdf","asdfasdf"]
tu = ("asdf","asdf")
v =tuple(s)
print(v)
#列表轉(zhuǎn)換為元組
v1 =tuple(li)
print(v1)
#元組轉(zhuǎn)化為列表
v2 =list(tu)
print(v2)
#join連接元組字符串
v3 ="".join(tu)
print(v3)
在列表后面追加數(shù)字
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循環(huán)是可迭代
for iin v:
print(i)
1 根據(jù)序列,創(chuàng)建字典,并指定統(tǒng)一的值
[key]后面123是所以key的值
v =dict.fromkeys(["k1",123,"999"],123)
print(v)
輸出結(jié)果:{'k1':123, 123:123, '999':123}
2 根據(jù)Key獲取值,key不存在時,可以指定默認(rèn)值(None)
v = {
"key1":'3',
? ? "key2":'字典'
}
key不存在,指定默認(rèn)值
v = v.get('key111' , 222)
print(v)
i = v.pop('key1' , 90)
print(v, i)
k,i = v.popitem()
print(v, k, i)
4 設(shè)置值,
已存在,不設(shè)置,獲取當(dāng)前key對應(yīng)的值
不存在,設(shè)置,獲取當(dāng)前key對應(yīng)的值
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、基本機構(gòu)
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循環(huán)默認(rèn)輸出鍵值
for i in v:
print(i)
循環(huán)輸出鍵值
for i in v.keys():
print(i)
循環(huán)輸出內(nèi)容
for i in v.values():
print(i)
循環(huán)輸出鍵值和內(nè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)
###################### 整理#################
一、數(shù)字
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
索引、切片、循環(huán)
四、元組
忽略
索引、切片、循環(huán)? ? ? ? 以及元素不能被修改
五、字典
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