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}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容