Python再接触第二次

字符串常用操作

索引:通过序列号取值,只能取单个值

name = "xiaoming"
print(name[0])      #索引0代表第一个值
print(name[-1])     #-1代表最后一个
print(name[0:])     #0:代表从第一个到最后一个

len:获取字符串长度

s = "alex"
print(len(s))
a = len(s)
print(a)

切片:获取范围内的字符

s = "alex"
print(s[0])
a = s[0:-1]
print(a)

bytes字节转字符串

a = str(b, encouding="utf-8")

字符串转bytes字节

a = "eric"  #定义变量
b = bytes(a, encoding="utf-8")  #记住这样的格式,括号里面econding要跟编码类型
for i in b:
     print(i, bin(i))
#通过for循环把已经变成的字节的编码再转换成二进制数,这里用到了函数bin

列表的常用方法

列表可以看做是多个字符串的集合,它用中括号把字符串括起来,形成自己的元素。

  • 创建列表

两种创建方法是一样的,第一种创建方法其实就是调用的第二种创建方法,列表中中可以有数字,也可以包含字符串。

a_list = ["aa", "bb", 11, 22]
a_list2 = list(["aa", "bb", 11, 22])
print(name,"\n",name2)    #换行显示列表,按照这个格式输入
  • 列表索引

列表索引的方式与字符串相同

a_list = ["aa", "bb", 11, 22]
print(a_list[1])
b = a_list[0]
print(b)

无论什么类型用到索引的时候都是用中括号[]来确定索引位置

  • 切片

列表切片的方式与字符串切片的方式是相同的。

print(a_list[0:1])
a = name[0:len(a_list)]    #这里的len(a_list)是指a_list的长度,len也是可以套用的。
print(a)
  • append(self, p_object):追加
name.append("seven")    #追加后面直接跟括号内容
print(name)
  • .extend:拓展,可迭代(iterable),批量添加内容
a_list = ["aa", "bb", 11, 22]
temp = ["dla","dkla"]
a_list.extend(temp)
print(a_list)

输出结果:
['aa', 'bb', 11, 22, 'dla', 'dkla']
  • .insert:插入,通过索引插入到列表里面,可以指定插入到第几位
a_list = ["aa", "bb", 11, 22]
a_list.insert(1,"ee")
print(a_list)

输出结果:
['aa', 'ee', 'bb', 11, 22]
  • .pop:移除索引指定的元素,默认移除最后一个元素
a_list = ["aa", "bb", 11, 22]
a_list.pop(0)   #如果什么参数都没有,默认移除最后一个元素
print(a_list)
  • .remove:移除某个元素
a_list = ["aa", "bb", 11, 22]
a_list.remove("aa")     #这里必须要写元素
print(a_list)
  • .reverse:反转所有元素
a_list = ["aa", "bb", 11, 22]
a_list.reverse()
print(a_list)
  • .del:删除指定索引位置的元素
a_list = ["aa", "bb", 11, 22]
del a_list[0:2]     #可以删除多个,得要切片的方法指定多个
print(a_list)

输出结果:
[11, 22]

元组(tuple)常用方法

元组与字符串相同,但元组不可修改

  • 创建
a_tuple = ("sdf",123,"dal")
print(a_tuple)
  • 索引
a_tuple = ("sdf",123,"dal")
print(a_tuple[1])
  • len计算元素长度
print(len(a_tuple))
  • 切片
print(a_tuple[0:])      #索引位置-1,0什么的都通用
  • count:计算元素出现的次数
a_tuple = ("sdf",123,"dal", "dal")
print(a_tuple.count("dal"))     #这里的参数要写元素
  • index:通过字符查找索引位置,如果没找到会报错
print(name_tuple.index("dd"))
  • 如果元组里面有列表的元素或者有字典的元素,那么这些元素就有可能被修改

字典(dict)常用方法

  • 创建字典
a_dict = {"eric": 12, "seven": 18}
  • 给字典添加新的键值对
a_dict = {}
a_dict["ke"] = "akfj"   #可以用索引的方式查找key,后面等于值,如果有此key字典则会更改值,如果没有字典会自动添加进去,此方法可以用来追加
print(a_dict)
  • 索引
    字典的索引通过key来提取,不能按照索引位置来找。由于索引的局限性,每次只能提取一个。索引取值时key不存在的时候就会报错
a_dict = {"eric": 12, "seven": 18}
b = a_dict["eric"]
print(b)
  • 字典是没有办法使用切片功能的

  • .keys:获取所有的key

print(a_dict.keys())

输出结果:
dict_keys(['eric', 'seven'])
  • values:获取所有的value
print(a_dict.values())

输出结果:
dict_values([12, 18])
  • .items 获取字典的格式item
print(a_dict.items())
  • .clear:清空字典
a_dict = {"eric": 12, "seven": 18}
a_dict.clear()
print(a_dict)

输出结果:
{}
  • .get 根据key获取值,如果key不存在,可以指定一个输出值
user_info = {"name":"dyq","age":"12","gender":"man"}
print(user_info.get("name"))    #如果key存在输出值,与索引相同
a = user_info.get("shagua")    #如果key不存在,则会报错:None
print(a)
a = user_info.get("shagua","212")    #逗号后面的数字代表指定输出的内容,这也是.get与索引不同的地方
print(a)
  • in 检查字典中指定key是否存在
print("name1" in user_info) #如果存在为True如果不存在为Fales
  • .update 批量更新字典的内容
user_info = {"name":"dyq","age":"12","gender":"man"}
print(user_info)
a = {"a1":"dasha","a2":"ersha"}    #先定义一个新字典
user_info.update(a)    #把新字典定义到旧字典里面
print(user_info)    #重新查看字典以后就会发现已经把a字典的内容加入进去了

print(user_info)显示字典的时候显示时无序的

  • .del 删除指定索引的键值对
del user_info["age"]
print(user_info)

输出结果:
{'gender': 'man', 'age': '12'}

enumrate

自动为可迭代的对象添加序号,默认从0开始

shopping = ["龙虎门","白日梦想家","浮生一日"] 
for key, i in enumerate(shopping, 1):  
    print(key, i)    
inp = input("请输入商品:")  
li = int(inp)    
print(shopping[li-1])    

还是上一个例子,反过来操作,让用户输入商品名得到商品序号

shopping = ["龙虎门","白日梦想家","浮生一日"]
print(shopping)
i = input("请输入商品名:")
a = shopping.index(i)
a = a + 1
print(a)

range和xrange

py3里的range和py2.7里的xrange作用是一样的,指定一个范围,生成范围内的所有的数
py2.7使用xrange会直接把指定的范围内的数一次性创建出来
py3不会一次行创建出来,除非通过for循环调用数字的时候它才会创建,这样能提高效率,节省资源。

实例1:

创建1到10的奇数,然后调用输出

for i in range(1, 10, 2)  #第一个参数代表从0开始,第二个参数代表到10,也就是0到10之间的数,第三个参数代表从0到10之间的数每个两个打印出来,range默认间隔为1
    print(i)

实例2

创建从10到1的数

for i in range(10, 1, -1)   #由于range默认的数字为增加,所有第三个参数为-1,这样就能以减的形式输出内容
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值