• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
KK筑梦人
博客园    首页    新随笔    联系   管理    订阅  订阅

基本数据类型: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

 

 








 

posted @ 2018-10-15 11:05  KK筑梦人  阅读(155)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3