一:python列表基础
- 列表
索引:列表名【开始索引:结束索引:步长】
开始索引:默认为0
结束索引:默认为最后一个元素
步长:默认为1,非0整数,若为负数则从右到左提取元素 - 使用+运算符,将一个新列表添加到原列表尾部
举一个栗子:
输出:
- 在末尾添加字符串元素
list_.append(6)
- 将一个列表的全部元素添加到列表的尾部
list_=[1,2,3,4,5]
list_.extend([6,7,8])
print(list_)
- 插入元素
insert()里面有两个参数:第一个是要插入元素的下标,第二个是要插入的元素
list_=[1,2,4,5]
list_.insert(2,3)
print(list_)
- 检索元素
1.index(value,[,start,[,end]])
此方法可以获取指定元素首次出现的下标
list_=[1,2,3,4,5,6,7,8,2,9]
print(list_.index(2,4,9))
2.count()
统计列表中元素出现的次数
list_=[1,2,3,4,5,6,7,8,2,9]
print(list_.count(2))
3.in或者not in运算符检索某个元素是否在该列表中
- 删除元素:
1.del删除指定位置的元素,删除后该元素的后面元素自动向前移动一位
list_=[1,2,3,4,5,6,7,8,2,9]
del list_[3]
print(list_)
2.del直接删除整个列表:
list_=[1,2,3,4,5,6,7,8,2,9]
del list_
print(list_)
3.remove删除指定元素
list_=[1,2,3,4,5,6,7,8,2,9]
list_.remove(2)
print(list_)
list_.remove(2)
print(list_)
list_.remove(2)
print(list_)
输出:
4.pop删除并返回指定位置上的元素
缺剩参数时,删除最后一个元素
list_=[1,2,3,4,5,6,7,8,2,9]
print(list_.pop(2))
输出:3
二:python列表常用函数:
cmp()
cmp(列表1,列表2)
若相同,则返回0
<>=
比较两个列表:
返回值为true或者false
三:杨辉三角:
a = []
n = int(input())
for i in range(n+1):
a.append([0])
a[0].append(1)
for i in range(1,n+1):
for j in range(1,i+1):
a[i].append(a[i-1][j-1]+a[i-1][j])
a[i].append(0)
for i in range(1,n+1):
print(" "*(n-i),end='')
for j in range(1,i+1):
print(a[i][j],end=' ')
print('')
四:列表去重
L1 = []
L1=eval(input())
L2 = []
for x in L1:
if x not in L2:
L2.append(x)
l = len(L2)
for i in range(l-1):
print(L2[i], end=' ')
print(L2[l-1])
五: 删除指定字符
s1 = input().strip()
s2 = input().strip()
s1 = s1.replace(s2.upper(), '').replace(s2.lower(), '')
print("result: {}".format(s1))
六:阶乘以及阶乘和
n = int(input())
def fact(n):
if n == 0 or n == 1:
return 1
else:
return (n * fact(n-1))
print("fact(%d)="%(n),end="")
print(format(fact(n)))
sum=0
for i in range (1,n+1):
sum+=fact(i)
if n==0:
print("sum=1")
elif n>0:
print("sum=%d"%sum,end="")
七:爬楼梯问题
n=int(input())
def demo(n):
d={1:1,2:2,3:4}
if n in d.keys():
return d[n]
else:
return demo(n-1)+demo(n-2)+demo(n-3)
print(demo(n))
八:文件
- 文件分类
ASCLL码文件
二进制码文件 - 文件的操作流程
1、建立/打开文件
当为写而打开文件时, 若文件不存在, 系统会建立该文件并打开;
当为读而打开文件时, 该文件应该是已存在的, 否则会出错。
2、从文件中读数据或向文件中写数据
3、关闭文件
取消程序与指定的数据文件之间的联系,表示文件操作的结束。 - 文件类型指针
typedef struct
{
short level; /* 缓冲区“满”或“空”的程度 */
unsigned flags; /* 文件状态标志 */
char fd; /* 文件描述符 */
unsigned char hold; /* 如无缓冲区不读取字符 */
short bsize; /* 缓冲区的大小 */
unsigned char *baffer; /* 数据缓冲区的读写位置 */
unsigned char *curp;
unsigned istemp; /* 临时文件,指示器 */
short token; /* 用于有效性检查 */
}FILE;
- 定义文件类型的指针
FILE *fp; - 文件的打开与关闭
FILE *fp;
fp=fopen(”e:/soft/tc/stu.txt”,”wt”);
FILE *fp;
fp=fopen(”stu”,”r”);
fclose(fp);
- 文本文件的三种基本使用方式
”r”:只读方式
为读(输入)文本文件打开文件。若文件不存在,返回NULL。
”w”:只写方式
为写(输出)文本文件打开文件。若文件不存在,则建立一个新文件;若文件已存在,则清空文件。
”a”:追加方式
为写(输出)文本文件打开文件。若文件已存在,则保持原来文件的内容,将新的数据增加到原来数据的后面;若文件不存在,则返回NULL。 - 判断是否成功
if(NULL==fp){
printf(“打开文件失败”);
}
读写函数:
1.单字符读写函数fgetc和fputc
ch=fgetc(fp);
fputc(’a’,fp);
2.字符串读写函数fgets和fputs
fgets(字符数组名,n,文件指针);
其中n是正整数,表示读出的字符数最多为 n-1个;若遇到换行符或EOF读取结束; 将读出的串存到字符数组中, 并在最后一个字符后加上字符串结束标志‘\0’。
fp=fopen("string.txt","rt");
char str[10];
fgets(str,5,fp);
fputs(字符串,文件指针);
fputs("abcd",fp);
把字符串“abcd”写入fp所指的文件之中。
3.格式化读写函数fscanf和fprintf
fscanf(文件指针,格式字符串,输入表列);
fprintf(文件指针,格式字符串,输出表列);
fscanf(fp,“%d,%f”,&i,&f);
从文件指针fp所指向的文件中,按照格式字符串
指定的格式 将文件中的数据输入到i,f的地址里。
fprintf(fp,“%d,%f”,i,f);
将i,f的变量值按照格式字符串指定的格式输出到
文件指针fp所指向的文件里。