赞
踩
创建数值列表:
语法: list(data)
创建一个10~20(不包括20)中所有偶数的列表
print(list(range(10,20,2)))
结果为:
[10, 12, 14, 16, 18]
range()函数是内置函数,用于生成一系列连续的整数,range(start,end,step),其中end用于指定计数的结束值,但不包括该值。
删除列表:
del listname
a、直接使用for循环实现
verse = ["我是雨","你是风","谁是谁"]
for i in verse:
print(i)
结果为:
我是雨
你是风
谁是谁
b、使用for循环和enumerate()函数实现,共同输出索引和元素值
verse = ["我是雨","你是风","谁是谁"]
for index,i in enumerate(verse):
print(index,i)
结果为:
0 我是雨
1 你是风
2 谁是谁
添加:
append(),在列表末尾追加元素
verse = ["我是雨","你是风","谁是谁"]
verse.append("nini")
print(verse)
结果为:
['我是雨', '你是风', '谁是谁', 'nini']
insert(),想列表指定位置插入元素,效率没append()高,不推荐
verse = ["我是雨","你是风","谁是谁","nini"]
verse.insert(1,"易烊千玺")
print(verse)
结果为:
['我是雨', '易烊千玺', '你是风', '谁是谁', 'nini']
extend(),将一个列表的全部元素添加到另一个列表里
listname.extend(seq),seq为要添加的列表,seq的内容追加到listname的后面
verse = ["我是雨","你是风","谁是谁"]
seq = [1,2,3,4]
verse.extend(seq)
print(verse)
结果为:
['我是雨', '你是风', '谁是谁', 1, 2, 3, 4]
修改:
直接通过索引修改
verse = ["我是雨","你是风","谁是谁",1,2,3,4]
verse[4]=222
print(verse)
结果为:eyh
['我是雨', '你是风', '谁是谁', 1, 222, 3, 4]
删除元素:
a、根据索引删除,用del listname[ 索引 ]
verse = ["我是雨","你是风","谁是谁",1, 222, 3, 4]
print(verse)
del verse[-1]
print(verse)
结果为:
['我是雨', '你是风', '谁是谁', 1, 222, 3, 4]
['我是雨', '你是风', '谁是谁', 1, 222, 3]
b、根据元素值删除,用 listname.remove()
verse = ["我是雨","你是风","谁是谁",1,2,3,4]
print(verse)
verse.remove("你是风")
print(verse)
结果为:
['我是雨', '你是风', '谁是谁', 1, 2, 3, 4]
['我是雨', '谁是谁', 1, 2, 3, 4]
a、获取指定元素出现的次数,listname.count()
verse = ["我是雨","你是风","谁是谁",1,2,3,4,2,2,2]
num = verse.count(2)
print(num)
结果为:
4
b、获取指定元素首次出现的下标,listname.index()
verse = ["我是雨","你是风","谁是谁",2,3,4,4,2,2,2]
print(verse.index(2))
结果为:
3
c、统计数值列表的元素和,sum(listname[,start])
start表示从哪个数开始,默认从0开始
verse = [2,3,4]
print(sum(verse))
结果为:
9
5、对列表进行排序
a、使用列表对象的sort()方法实现:
listname.sort(reverse=False)
reverse其值若指定为True,表降序,若为False,表升序
下列为升序
verse = [23,45,2,1,67,8]
verse.sort(reverse=False)
print(verse)
结果为:
[1, 2, 8, 23, 45, 67]
下列为降序
verse = [23,45,2,1,67,8]
verse.sort(reverse=True)
print(verse)
结果为:
[67, 45, 23, 8, 2, 1]
b、使用内置的sorted()函数实现
sorted(listname,reverse=False)
verse = [23,45,2,1,67,8]
print(sorted(verse)) #默认为升序
结果为:
[1, 2, 8, 23, 45, 67]
创建:
a、使用赋值运算符直接创建元组
tuplename = ( )
如果要创建的元组只有一个元素,在定义时,元素后面需要加一个逗号,如 verse = (“yiyi”,)
b、创建数值元组
tuple(data)
创建一个10~20(不包括20)中所有偶数的元组
print(tuple(range(10,20,2)))
结果为:
(10, 12, 14, 16, 18)
删除:
del tuplename
print(tuple[索引])
coffee = ("土耳其","蓝山","卡布奇洛")
print(coffee+("巴西",)) #注意元组只有一个元素时,后面要加逗号,两者必须都为元组类型
结果为:
('土耳其', '蓝山', '卡布奇洛', '巴西')
创建
a、
dictionary = {‘key1’:‘value1’,‘key2’:‘value2’,‘key3’:‘value3’}
键与值之间用冒号分隔
b、
dictionary = dict( )
python中的dict( )方法除了可以创建一个空字典外,还可以通过已有数据快速创建字典。主要表现为以下两种形式:
1、通过映射函数创建字典
dictionary = dict(zip(list1,list2))
zip( )函数用于将多个列表和元组对应位置的元素组合为元组,list1表示一个列表,用于指定要生成字典的键;list2表示一个列表,用于指定要生成字典的值。
name = ("娜娜","丽丽","云云")
sign = ("天秤座","巨蟹座","双鱼座")
dictionary = dict(zip(name,sign))
print(dictionary)
结果为:
{'娜娜': '天秤座', '丽丽': '巨蟹座', '云云': '双鱼座'}
2、通过给定的“键-值对”创建字典
dictionary = dict(key1=value1,key2=value2,key3=value3)
dictionary = dict(娜娜="天秤座",丽丽="巨蟹座",云云="双鱼座")
print(dictionary)
结果为:
{'娜娜': '天秤座', '丽丽': '巨蟹座', '云云': '双鱼座'}
删除:
删除字典:
del dictionary
删除字典的全部元素:
dictionary.clear( )
dictionary = dict(娜娜="天秤座",丽丽="巨蟹座",云云="双鱼座")
print(dictionary["娜娜"])
结果为:
天秤座
当不知道当前存在什么键,可以用下列方法:
dictionary.get(key[,default])
使用字典对象的get( )方法获取指定key的值,key为指定的键,default用于表示当指定的键不存在时,返回一个默认值,如果省略,则返回None。
#若键值不存在,则返回“此值不存在哦”
dictionary = dict(娜娜="天秤座",丽丽="巨蟹座",云云="双鱼座")
print("娜娜的星座是",dictionary.get("娜娜","此值不存在哦"))
结果为:
娜娜的星座是 天秤座
dictionary = dict(娜娜="天秤座",丽丽="巨蟹座",云云="双鱼座")
print(dictionary.get("n","此值不存在哦"))
结果为:
此值不存在哦
实例如下:
判断是什么星座,以及星座所对应的性格
name = ("娜娜","丽丽","云云") sign = ("天秤座","巨蟹座","双鱼座") person_sign = dict(zip(name,sign)) print(person_sign) sign_all = ("天秤座","巨蟹座","双鱼座") nature = ["很美丽哦 嘻嘻","我也不清楚","很善良哦"] sign_nature = dict(zip(sign_all,nature)) print("娜娜的星座是",person_sign.get("娜娜")) print("她的性格特点为",sign_nature.get(person_sign.get("娜娜"))) 结果为: {'娜娜': '天秤座', '丽丽': '巨蟹座', '云云': '双鱼座'} 娜娜的星座是 天秤座 她的性格特点为 很美丽哦 嘻嘻
dictionary.items( ),要搭配使用for循环
verse = {"qq":2933134160,"电话":15592138861,"姓名":"liyu"}
for item in verse.items():
print(item)
结果为:
('qq', 2933134160)
('电话', 15592138861)
('姓名', 'liyu')
上面得到的是元组中的各个元素,如果想要获取具体的每个键和值,可以使用下列代码:
verse = {"明日科技":2933134160,"网易云":15592138861,"腾讯":178677}
for key,value in verse.items():
print(key,"的联系电话是",value)
结果为:
明日科技 的联系电话是 2933134160
网易云 的联系电话是 15592138861
腾讯 的联系电话是 178677
添加元素:
dictionary[key]=value
verse = {"明日科技":2933134160,"网易云":15592138861,"腾讯":178677}
verse["阿里"]=1902834
print(verse)
结果为:
{'明日科技': 2933134160, '网易云': 15592138861, '腾讯': 178677, '阿里': 1902834}
键值必须唯一,要是添加了一个与字典中重复的键值,则新添加的键值会代替旧的键值,举例如下,新添加网易云的键值:
verse = {"明日科技":2933134160,"网易云":15592138861,"腾讯":178677}
verse["网易云"]=1902834
print(verse)
结果为:
{'明日科技': 2933134160, '网易云': 1902834, '腾讯': 178677}
删除:直接删除对应的Key
del dictionary[key]
verse = {"明日科技":2933134160,"网易云":15592138861,"腾讯":178677}
verse["网易云"]=1902834
print(verse)
del verse["网易云"]
print(verse)
结果为:
{'明日科技': 2933134160, '网易云': 1902834, '腾讯': 178677}
{'明日科技': 2933134160, '腾讯': 178677}
集合的所有元素都放在一对大括号{ }里面,集合最好的应用是去重。
1、直接用{ }创建
setname = {element1,element2,element3 }
2、使用set()函数创建 (推荐)
setname = set(iteration)
iteration表示要转化为集合的可迭代对象,可以是列表,元组,range对象,字符串等,set(“命运靠自己主宰”),set([1,2,3,4]),set((“人生苦短”,))
添加:
setname.add(element)
element只能使用字符串,数字及布尔型的True或False,不能使用列表,元组等对象。
setname=set(["人生苦短","及时行乐"])
print(setname)
setname.add("哦耶!")
print(setname)
结果为:
{'人生苦短', '及时行乐'}
{'人生苦短', '及时行乐', '哦耶!'}
删除:
a、删除指定元素,setname.remove( )
setname=set(["人生苦短","及时行乐","哦耶!"])
setname.remove("哦耶!")
print(setname)
结果为:
{'人生苦短', '及时行乐'}
b、删除一个元素,随机删除
setname=set(["人生苦短","及时行乐","哦耶!"])
setname.pop( )
print(setname)
结果为:
{'哦耶!', '人生苦短'}
c、清空集合,剩空集合
setname=set(["人生苦短","及时行乐","哦耶!"])
setname.clear( )
print(setname)
结果为:
set()
分别使用&,|,-代表交集,并集和差集
举例如下:有python和c语言两门学科,需统计谁既学了python,又学了c,谁学Python,没学c
python = set(["李煜","张扬","菲菲","美美"])
c = set(["菲菲","一一","妮妮","美美"])
print("学习python的同学有",python)
print("学习c语言的同学有",c,)
print("两者都学的",python & c)
print("报了课程的有",python | c)
print("学了python但没有学c的有",python ^ c)
结果为:
学习python的同学有 {'菲菲', '李煜', '张扬', '美美'}
学习c语言的同学有 {'菲菲', '一一', '美美', '妮妮'}
两者都学的 {'菲菲', '美美'}
报了课程的有 {'妮妮', '张扬', '美美', '菲菲', '一一', '李煜'}
学了python但没有学c的有 {'妮妮', '张扬', '一一', '李煜'}
a、使用encode( )方法编码
str.encode([encoding=“utf-8”][,errors="strict])
encode( )方法为str对象的方法,用于将字符串转换为二进制数据 (即bytes)
str:表示要进行转换的字符串
encoding=“utf-8”:可选参数,用于指定进行转码时采用的字符编码,默认为utf-8。
errors=“strict”:可选参数,用于指定错误处理方式,其选择值可以是strict(遇到非法字符就抛出异常),ignore(忽略非法字符)等,默认为strict。
举例如下:定义一个名为verse的字符串,内容为“整体嘻嘻哈哈”,然后用encode()方法使其采用GBK编码转化为二进制数,并输出源字符串和转换后的内容。
verse = "整天嘻嘻哈哈"
byte = verse.encode("GBK")
print("原字符串",verse)
print("转换后",byte)
结果为:
原字符串: 整天嘻嘻哈哈
转换后: b'\xd5\xfb\xcc\xec\xce\xfb\xce\xfb\xb9\xfe\xb9\xfe'
b、使用decode( )解码
decode( )方法为bytes对象的方法,用于将二进制数据转换为字符串
verse = "整天嘻嘻哈哈"
byte = verse.encode("GBK")
print("原字符串:",verse)
print("转换后:",byte)
print("解码后:",byte.decode("GBK"))
结果为:
原字符串: 整天嘻嘻哈哈
转换后: b'\xd5\xfb\xcc\xec\xce\xfb\xce\xfb\xb9\xfe\xb9\xfe'
解码后: 整天嘻嘻哈哈
使用+即可
str = "人生苦短,我用python"
print(len(str))
结果为:
13
string[start:end:step],前包后不包
分割字符串:
str.split(sep,maxsplit)
sep:用于指定分隔符,默认为(空格,"\n","\t")
maxsplit:用于指定分割的次数
如果不指定sep,那也不能指定maxsplit
str = "商洛学院官网 >>> www.slxy.com"
print(str.split(">>>"))
结果为:
['商洛学院官网 ', ' www.slxy.com']
合并字符:
strnew=string.join(iterable)
strnew:表示合成后新生成的字符串
string:字符串类型,用于指定合并时的分隔符
iterable:可迭代对象,该对象中的所有元素将被合并为一个新的字符串。
举例如下:通过好友列表,生成全部被@的好友
list_friend = ["花花","烊烊","娜娜"] #好友列表
str_friend = "@".join(list_friend) #用@符号进行连接
at = "@"+str_friend #由于join()方法,第一个元素前不加分隔符,所以需要手动添加@符号
print("您要@的好友为:",at)
结果为:
您要@的好友为: @花花@烊烊@娜娜
a、count( )方法
str.count( )
ist_friend = "花花 烊烊 娜娜 花花"
print("字符串",list_friend,"中共出现 花花",list_friend.count("花花"),"次")
结果为:
字符串'花花 烊烊 娜娜 花花' 中共出现 花花 2 次
b、find( )方法
用于检索是否包含指定的字符串,若不存在,返回-1,否则返回首次出现该字符串的索引
str.find( )
#存在情况
list_friend = "花花 烊烊 丽丽 花花"
print(list_friend.find("丽丽"))
结果为:
7
#不存在的情况
list_friend = "花花 烊烊 丽丽 花花"
print(list_friend.find("吗"))
结果为:
-1
c、index( )方法
与find( )类似,只不过index( )当指定字符串不存在时,会出现提示错误,不会返回某个值。
str.index( )
d、startswith( )方法
str.startswith( )
用于检索字符串是否以指定字符串开头endswith( )
用于检索字符串是否以指定字符串结尾
小写:
str.lower( )
str = "WWWWrrT"
print(str.lower())
结果为:
wwwwrrt
大写:
str.upper( )
str = "WxnhrrT"
print(str.upper())
结果为:
WXNHRRT
strip( )方法
str.strip([chars])
用于去除左右两侧的空格和特殊字符
chars:可选参数,用于指定要去除的字符,若不指定,则默认去除空格,\t,\r,\n
str = " http://www.baidu.com \t\n "
print(str)
print(str.strip())
结果为:
http://www.baidu.com
http://www.baidu.com
还有lstript( )及rstript( ),分别表示去除左右空格,这里就不演示了。
格式化字符串:先制定一个模板,在此模板中预留几个空位,然后再根据需要填上相应的内容。这些空位需要通过指定的占位符。
格式化字符串有两种方法:
1、使用%操作符
2、使用字符串对象的format( )方法
name = "my name is {name}"
print(name.format(name="liyu"))
结果为:
my name is liyu
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。