因为Python与c语言之间的语法很相似,所以在变量中储存信息以及使用文本和数字,在这里就不再过多赘述
先插入一个重要的概念:索引。列表是有序集合,因此要访问列表的任意元素,只需将该元素的位置(索引 )告诉 Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在 方括号内。
目录
列表
列表用“【】”表示。
bicycle=['treak','cannot'] print(bicycle) ['treak', 'cannot']
这就是最简单的列表形式
列表的一些关键字:
在列表同样有很多的关键字,如append,insert,pop,del等等
那么现在就由我来向你们介绍一下这些关键字的具体作用:
append:
append()方法表示在原来的列表末尾追加新的对象
A=[]
A.append('hellow')
print(A)
['hellow']
这是append的最基本的用法
insert:
insert用于插入,这里就用到了索引的知识
A=['c','d']
A.insert(1,'徐')
A.insert(0,'佳')
print(A)
['佳', 'c', '徐', 'd']
在Python中数字都是从0开始往后数的(在没有人为规定的情况下)
del:
del 不是方法,是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。不仅可以删除单个元素,还能删除元素段。而且del是直接从内存中删除列表或列表元素。
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'C#']
print(name1)
del name1
print(name1)
返回结果:
['python', 'java', 'php', 'MySql', 'C++', 'C', 'C#']
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/python知识总结/python基础/9-3.删除列表元素.py", line 5, in <module>
print(name1)
NameError: name 'name1' is not defined
这里返回的name1没有定义,表明列表已经被完全删除。
下面是删除制定索引值的元素
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'C#']
del name1[3]
print(name1)
返回结果:['python', 'java', 'php', 'C++', 'C', 'C#']
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'C#']
del name1[-3]
返回结果:['python', 'java', 'php', 'MySql', 'C', 'C#']
其中的【-3】表示倒叙索引删除。
下面是删除指定区间元素2
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'C#']
del name1[3:5]
print(name1)
返回结果:['python', 'java', 'php', 'C', 'C#']
这里的范围为左闭右开(一般Python涉及到范围了都是这样的)即从0开始删除【3,5)区间的元素。
pop()方法删除列表元素
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'C#']
name1.pop(0) # 删除第一个元素
print(name1)
name1.pop(-1) # 删除最后一个元素
print(name1)
name1.pop() # 默认删除最后一个元素
print(name1)
返回结果:
['java', 'php', 'MySql', 'C++', 'C', 'C#']
['java', 'php', 'MySql', 'C++', 'C']
['java', 'php', 'MySql', 'C++']
这便不过多赘述,看代码吧
remove()
有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove() 。
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
name1.remove('php')
print(name1)
返回结果:
['python', 'java', 'MySql', 'C++', 'C', 'php', 'C#']
sort(),reverse()对列表永久排序
sort()排序默认为升序,reverse()则为降序。
numbers=[1,8,6,4,12]
numbers.sort()
print(numbers)
[1, 4, 6, 8, 12]
同样sort()不止可以对数字排序还可以对字母排序,来,看代码!
numbers=['a','d','e','c']
numbers.sort()
print(numbers)
['a', 'c', 'd', 'e']
sorted()对列表临时排序
numbers=[8,6,7,2,45]
print(sorted(numbers))
print(numbers)
[2, 6, 7, 8, 45]
[8, 6, 7, 2, 45]
sorted只是临时的排序,如果再次输出便会变回原来的值
len()测试列表长度
a='www.jaile.net'
len(a)
13
A=['abd','ad','d']
len(A)
print(len(A))
->3
在列表时如果想要知道列表的元素,有时一个一个数很麻烦,这时候便可以用len()语法
ages = [5,31,43,48,50,41,7]
for i in range(len(ages)):
print(i)
0
1
2
3
4
5
6
range()生成一系列数
range()一般和for语句一起使用,常用于for i in range(1,5):
输出1-10的偶数:
A=list(range(2,11,2))
print(A)
[2, 4, 6, 8, 10]
A=(range(2,11,2))
print(A)
range(2, 11, 2)
为什么会这样呢?观察可知两个代码少了一个list,那么list又是什么意思呢
list()用于创建数字列表
split()将字符串切片并转换为列表:
语法:str.split(str="",num=string.count(str))[n]
参数说明:
str: 表示为分隔符,默认为空格,但是不能为空(’’)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]: 表示选取第n个分片
注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
s='www.dod.com.cn'
print(s.split()) ['www.dod.com.cn']
print(s.split(',')) ['www','dod','com','cn']
print(s.split(',',1)) ['www','dod.com.cn']
print(s.split(',',2)[1]) ['dod']#分割后去第2个字符串(从0开始数)
切片补充
如何倒叙一个列表呢
test=[3,56,6,8]
print(test[::-1])#倒叙
input如何输入多个值:
m,n=map(int,input().split( ))
输入5 6#有空格的
#还记得split的含义吗当然也可以改成
m,n=map(int,input().split(','))
输入5,6
字典,通过键值对储存的(二维表 两列多行的二维表)
字典的定义方式:
d = {"name":"lisi","age":"20",“gender”:"男"}
2、d = dict()如何访问值:通过 key 去访问 value例如:d["name"]例如:name:lisi
此时的 name 就称为 key lisi 就称为 value,如果没有 key 会报错,通过 key 去修改 value,字典名称[key] = 新value。使用方法如下:
>>> d = {"name":"lisi","age":"19","gender":"男"}
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '男'}
>>> d["name"]
'lisi'
>>> d["gender"] = "女"
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '女'}
>>> d["phone"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'phone'
添加新的键值对:
字典名 新[key] = 新value
方法如下:
>>> d["password"] = "123456"
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '女', 'password': '123456'}
字典中常用的方法:
get() ------- 通过 key 去获取 value 的值 ,如果没有该 key ,则不会有任何操作,返回None
方法如下:
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '女', 'password': '123456'}
>>> d.get("name")
'lisi'
>>> d.get("age")
'19'
keys() ------ 返回所有的建 key
方法如下:
>>> d.keys()
dict_keys(['name', 'age', 'gender', 'password'])
values() ------ 返回所有的值
方法如下:
>>> d.values()
dict_values(['lisi', '19', '女', '123456'])
setdefault() ------- 设置一个默认值 和 get 的区别是,如果字典中没有这个 key 的值,会返回None的同时将该 key 添加到字典中
方法如下:
>>> d.setdefault("phone")
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '女', 'password': '123456', 'phone': None}
items() ------ 返回所有的键值对
方法如下:
>>> d.items()
dict_items([('name', 'lisi'), ('age', '19'), ('gender', '女'), ('password', '123456'), ('phone', None)])
pop() ------ 通过 key 移除键值对,如果没有这个 key 就会报错
方法如下:
dict_items([('name', 'lisi'), ('age', '19'), ('gender', '女'), ('password', '123456'), ('phone', None)])
>>> d.pop("phone")
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '女', 'password': '123456'}
>>> d.pop("key")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'key'
popitem() ----- 移除键值对,根据后进先出的顺序
方法如下:
>>> d.popitem()
('password', '123456')
>>> print(d)
{'name': 'lisi', 'age': '19', 'gender': '女'}
>>> d.popitem()
('gender', '女')
>>> print(d)
{'name': 'lisi', 'age': '19'}
>>> d.popitem()
('age', '19')
>>> print(d)
{'name': 'lisi'}
如何遍历字典:
方法如下:
>>> d
{'name': 'lisi', 'age': 18}
>>> for k in d:
... print(k,d.get(k))
...
name lisi
age 18
>>> for k in d.keys():
... print(k,d[k])
...
name lisi
age 18
>>> for k,v in d.items():
... print(k,v)
...
name lisi
age 18
类的创建及使用
类就是用于描述某一类事物,相当于市一个模板
如何定义一个类
定义一个类应该要有 属性和方法(所属的属性及方法一定是该类事物所共有的)
关键字class用于修饰一个类,
例如,一个人可以抽象为一个类,这个类当中包含了年龄、身高等属性。
public class Person{
private int height;
private int age;
}
这个类包含了 public、 private、class、int几个关键字。
public : 即公共的的意思,代表这个类是对外公开的。
class:即类的意思,用于修饰一个类。
private:即私有的意思,代表这个类是私有化的。
Person:在此代表类名。
height、age:字段名,在此被称为成员变量,或称为属性。
int:基本数据类型之一,代表一个整数。
结构:
修饰符 class 类名{
修饰符 数据类型 变量名
}
自己创建的类叫自定类,该类的类名就是一个数据类型,称为引用数据类型
创建对象
格式:数据类型(类名) 变量名(对象名) = new 数据类型();
java 中实例化对象是通过 new关键字来实现的
使用对象
通过new关键字创建了对象 xiaoming 拥有 height、age两个属性
将其赋值并输出打印
public static void main(String[]args){
Person xiaomong = new Person();
xiaoming.height = 175;
xaioming.age = 20;
System.out.println("身高为:"+xiaoming.height+"年龄为:"+xaioming.age = 20;);
}
输出结果为 :身高为:175 年龄为:20
调用方法或属性: 对象名.方法名()
User user = new User();
String name = new user.name;
int age = user.age;
int height = user.height;
System.out.println("姓名:"+name+"年龄:"+age+"身高:"+height);
注:(仅代表个人观点,学有不精,请指出,谢谢)