您的位置:首页 > 编程语言 > Python开发

Python再接触第二次

2016-05-10 17:31 453 查看

字符串常用操作

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

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 索引