python关于列表元组和字符串的有关操作
Posted Uranus_Jerry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python关于列表元组和字符串的有关操作相关的知识,希望对你有一定的参考价值。
今天总结一下列表的一些基本操作以及字符串和字典的操作。
- 列表
1 name=["张三","赵四","王五","刘德华","周杰伦"] 2 print(name[1:3]) 3 print(name[-3:-1]) 4 print(name[0])
这是创建一个列表,并打印的方法。其中第二列是打印列表第二到第三个元素,第三列是打印列表的第三和第四个元素,而第四行是打印列表的第一个元素,很简单。
- 列表的添加
列表的添加与两种方法,第一种是使用append()方法,第二种是使用insert()方法。
name.append("李荣浩") name.insert(2,"周星驰")
虽然两种方法都可以添加元素到列表中去,但却是不同的。第一种是直接将“李荣浩”这个元素插入到列表的最后面的位置,而第二种方法是将“周星驰”这个元素查到列表的第三个元素处,这里的insert()方法有两个参数,第一个参数就是在列表中要插入的位置。
- 列表元素的删除
列表元素的删除有三种方法。
name.remove("周星驰") del name[2] name.pop(2)
第一种是知道要删除的元素是什么,直接作为参数填在remove()方法中即可。第二种是python语言的通用方法,意思是删除列表的第三个元素。第三种方法与第二种方法同义。
- 列表元素的修改
列表元素修改可以通过给元素赋值的方法来修改元素,如:
name[2]="周迅"
- 列表元素的查找
print(name.index("周杰伦")) print(name[name.index("周杰伦")]) print(name.count())
name.index()方法显示元素在列表中的序号。
列表所具有的方法有很多,使用pycharm编译环境很容易使用这些方法。下面简单介绍一些有用的、简单的方法:
name.reverse() //反转列表 name.clear() //清空列表,等于 del name name.sort() //列表排序 name.extend(name2) //将列表name2合并到列表name中去
这里详细介绍一下copy()方法,因为这里有一个需要注意的点,如果内有弄清楚,很容易在今后的编程中出现错误。
import copy name=["张三","赵四","王五",["李易峰","朱一龙"],"刘德华","周杰伦"] name2=name.copy() name3=copy.deepcopy(name) name2[0]="张八" name3[3][0]="王一峰" print(name) print(name2) print(name3)
name是一个既包含元素又包含列表的列表,name2和name3是copy列表name的两个列表,不同的是name2是浅copy,而name3是深copy。name2只copy了列表name的第一层,而其中包含的列表没有copy进来,只是copy了包含的列表的地址,因此name和name2两个列表只要有一个列表修改了内层的列表,两个列表便都修改的列表的内容。但是name3却不会发生这样的事情,因为name3是深copy,copy的不只是内层的列表的地址,而是将内层的列表也copy了一份,因此:name3[3][0]="王一峰"这句语句只改变name3内层的列表而并不改变name的内层列表。
当然,浅copy也有用处。浅copy,只copy第一层列表之中可以包含一层列表,但此时copy只能copy到包含列表的地址,而不能copy到实际内容。
浅copy有三种方法,其效果相同:
p1=copy.copy((person)) p2=person[:] p3=list(person)
浅copy的作用:创建联合账号
- 列表的循环:
#列表的循环 for i in name2: print(i)
2.元组
- 元组其实跟列表差不多,也是存一组数,只是他一旦创建,便不能再修改,所以又叫只读列表。其格式如下:
name=(‘zhang‘,‘wang‘)
元组只有两个方法,一个是count,一个是index。使用方法如下:
name=(‘zhang‘,‘wang‘,‘zhang‘,‘liu‘) print(name.count(‘zhang‘)) print(name.index(‘zhang‘))
显示:2
0
第一个打印的是元素‘zhang’在元组中的个数,第二个打印的是元素‘zhang’在元组中的最先出现的位置。
下面是运用列表和元组编写的一个简单的购物车小程序:
#_Author_ = " Uranus Jerry" salary=input("your salary:") if salary.isdigit(): salary=int(salary) print("Shopping List") list=[("IPhone",5000), ("Bike",800), ("IPad",2000), ("Nike",1000), ("Book",50), ("Watch",2000), ("milk",30), ("apple",10) ] shopping_list=[] while True: ‘‘‘for item in list: print(list.index(item),item)‘‘‘ for index, item in enumerate(list): print(index,item) user_choice=input("选择要买的商品>>>:") if user_choice.isdigit(): user_choice=int(user_choice) if user_choice<len(list) and user_choice>-1: p_item=list[user_choice] if p_item[1]<=salary: salary-=p_item[1] shopping_list.append(p_item) print(p_item,"已经加入您的购物车,您当前的余额为 33[31;1m%s 33[0m"%salary) else: print("