Python学习Day2(上)----字符串、元组、列表、字典、集合的相关操作

一.字符串(str)

1.切片

  • split()
    调用格式:split(str, num)
    以str为标志切片num次
name = 'hello world'
new1 = name.split()         #以空格为标志切片
new2 = name.split('l', 1)
#输出:
>>>>  new1 = ['hello', 'world']         
>>>>  new2 = ['he', 'lo world']
  • partition()
    调用格式:partition(str)
    以str分割为3部分的元组
name = 'hello'
new = name.partition('ll')
#输出:
>>>>  new = ('he', 'll', 'o')
  • join()
    调用格式:‘sep’.join(seq)
    以sep为分隔符将seq(可以是字符串,元组,字典等)的所有元素合并成一个新字符串
name1 = "hello world 你好 世界"
new1 = ','.join(name1)  #字符串
print(new1)  
name2 = ('hello', 'world', '你好', '世界')
new2 = ','.join(name2)  #元组
print(new2)
name3 = {'hello': 1, 'world': 2, '你好': 3, '世界': 4}
new3 = ','.join(name3)  #字典
#输出:
>>>>  new1 = 'h,e,l,l,o, ,w,o,r,l,d, ,你,好, ,世,界'
>>>>  new2 = 'hello,world,你好,世界'
>>>>  new3 = 'hello,world,你好,世界'

2.替换元素

  • replace()
    调用格式:replace(old, new, count)
    传入要被替换的原字符old和替换的字符new,可选择替换的个数count
name = 'hello world haha'
new = name.replace('ha', 'HA', 1)
#输出
>>>>  new = 'hello world HAha'

3.删除字符串两端空白字符

调用格式:'字符串'.strip()直接调用

4.对齐&填充

  • ljust(width, str)----------左对齐以str填充至长度width,len>width返回原字符串
  • rjust(width, str)----------右对齐 .....
  • rjust(width, str)----------居中对齐 ......
  • zfill(width)-----------------填充0至长度width

5.几种布尔型函数

  • isalpha()-------------------是否全是字母
  • isdigit()---------------------是否全是数字
  • isalnum()------------------是否是字母或数字

二.列表(list)

1.添加元素

  • append()
    调用格式:[list].append(object)
    在列表的末尾添加元素,这个对象整体作为列表中的一个元素
  • extend()
    调用格式:[list].extend(set)
    将另一个集合的每个元素依次添加到列表末尾
  • insert()
    调用格式:[list].insert(index,object)
    从索引插入指定元素
name = ['a', 'b', 'c']
str = ['d', 'e']
name.append(str)------------------['a', 'b', 'c', ['d', 'e']]
name.extend(str)------------------['a', 'b', 'c', 'd', 'e']
name.insert(1, 'd')---------------['a', 'd', 'b', 'c']

2.修改元素

按索引直接赋值即可

name = ['a', 'b', 'c']
name[1] = '修改了'
输出:
>>>>  name = ['a', '修改了', 'c']

3.查找元素

  • in和not in
    返回布尔值
  • index()
    调用格式:index(object, start, stop)
    返回索引值,找不到抛出异常,可指定查找范围[start,stop)

4.删除元素

  • del
    通用函数,删除指定索引的元素
  • pop()
    直接调用,删除末尾元素
  • remove()
    调用格式:remove(object)
    根据元素值删除
name = ['姓名', 'jsl', 1, 2, 3]
del name[2]-------------------------['姓名', 'jsl', 2, 3]
name.pop()--------------------------['姓名', 'jsl', 1, 2]
name.remove('jsl')------------------['姓名', 1, 2, 3]

5.排序

  • sort()
    调用方法:sort()、sort(key, reverse)
    对原列表排序,可以不传参数,若传参数,key参数可设置按照指定位置索引排序(多维),reverse设置true降序,设置false升序
  • sorted()
    排序后生成新的列表,对可排序的系列数据都可以操作
from random import randint
num = [randint(0, 10) for _ in range(5)]
num.sort()--------------------num = [3, 4, 5, 5, 5]
num.sort(reverse=True)--------num = [10, 8, 6, 5, 2]
new = sorted(num)-------------new = [5, 7, 7, 9, 10]

6.两个列表同时遍历

  • zip()
    两个列表对应元素打包成元组,长度与最短的列表相同,通常用来遍历拼接两个列表的元素,返回的是对象,展示列表需要用list转换
name = ['王小明', '李狗蛋', '蔡旭困']
age = [18, 19, 20, 21]
data = zip(name, age)
print(list(data))
#输出:
>>>>  [('王小明', 18), ('李狗蛋', 19), ('蔡旭困', 20)]

三.元组(tuple)

        元组是一个有序序列,与列表类似,但元组为不可变对象,不能修改、添加、删除,只能访问元组中的元素,支持“系列”的索引访问、切片、连接、比较运算等(参考列表的类似操作)。


四.字典(dict)

1.什么是字典?

        字典是一组键/值对的数据结构。每个key对应一个value,key不能重复,通过key可以查询到value。key必须是可hash的,即实现了hash()的对象,例如bool、int、float、str、complex、tuple等,而value可以为任意对象。
        字典通过花括号中用逗号分隔的项目定义,基本形式如下:
        {key1:value1,key2:value2,key3:value3,...,key n:value n,}

2.字典的访问

  • 直接访问key
    例如字典d,d[key]返回value值,也可通过赋值修改或者添加键值对。
  • keys()
    返回字典的key列表
  • values()
    返回value列表
  • items()
    返回(key,value)对的列表,对其遍历可取到key和value的一维列表
  • get()
    调用格式:get(k)、get(k, v)
    调用get(k),返回k对应的value值,k不存在返回None;调用get(k, v)返回k对应value,不存在返回v。
d = {
    'name': '坤坤',
    'age': 18,
    'id': '个人练习生',
}
data1 = d['name']
data2 = d.keys()
data3 = d.values()
data4 = d.items()
data5 = d.get('hobby')
data6 = d.get('hobby', '打篮球')
#输出:
>>>>  data1 = 坤坤
>>>>  data2 = dict_keys(['name', 'age', 'id'])
>>>>  data3 = dict_values(['坤坤', '18', '个人练习生'])
>>>>  data4 = dict_items([('name', '坤坤'), ('age', '18'), ('id', '个人练习生')])
>>>>  data5 = None
>>>>  data6 = 打篮球

3.字典的添加

  • setdefault()
    调用格式:setdefault( k )、setdefault( k, v )
    setdefault(k)若k存在返回value,否则返回None;setdefault( k, v )当k不存在则添加这个键值对。
  • update()
    调用格式:update( [other] )
    使用键值对更新或添加到字典中
d = {
    'name': '坤坤',
    'age': 18,
    'id': '个人练习生',
}
data1 = d.setdefault('id')
data2 = d.setdefault('hobby', '打篮球')
print(data1)
print(data2)
print(d)
d.update({'hobby': '唱,跳,rap'})
print(d)
#输出:
>>>>  个人练习生
>>>>  打篮球
>>>>  {'name': '坤坤', 'age': 18, 'id': '个人练习生', 'hobby': '打篮球'}
>>>>  {'name': '坤坤', 'age': 18, 'id': '个人练习生', 'hobby': '唱,跳,rap'}

4.字典的删除

  • del
  • clear()
  • pop()
    调用格式:pop( k )、pop( k, v )
    pop(k)返回对应value值并删除该键值对,否则keyerror;pop(k,v)若k不存在返回v
d = {
    'name': '坤坤',
    'age': 18,
    'id': '个人练习生',
    'sex': '?'
}
del d['sex']
data1 = d.pop('hobby', '打篮球')
data2 = d.pop('age')
print(data1)
print(data2)
print(d)
d.clear()
print(d)
#输出:
>>>>  打篮球
>>>>  18
>>>>  {'name': '坤坤', 'id': '个人练习生'}
>>>>  {}

五.集合(set)

1.什么是集合?

集合是没有顺序的简单对象的的聚集,集合中元素不重复

  • set()
    set()可以创建一个空集合,而且set()本身可以作为一个函数来调用,它的作用是去重。
set()
set1 = {1, 2, 2, 3, 4, 1}
print(set)
print(set1)
#输出:
>>>>  <class 'set'>
>>>>  {1, 2, 3, 4}

2.集合的的添加

  • add()
    调用格式:add(x)
set1 = {1, 2, 3, 4}
set1.add(5)
#输出:
>>>>  {1, 2, 3, 4, 5}

3.集合的删除

  • remove()
    调用格式:remove(x)
    集合中移除对象x,若不存在导致keyerror
  • discard()
    调用格式:discard(x)
    集合中移除对象x,若不存在则不操作
  • pop()
    直接调用,随机删除一个元素
set1 = {1, 2, 3, 4, 5}
set1.remove(5)
print(set1)
set1.discard(6)
print(set1)
set1.pop()
print(set1)
#输出:
>>>>  {1, 2, 3, 4}
>>>>  {1, 2, 3, 4}
>>>>  {2, 3, 4}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容