列表list
python的列表类似于可变长的C语言的结构体,用[ ]表示‘,‘分割
[a,a,'c','abc',123,...]元素可为任意类型,任意长度,可重复,可修改定义一个列表名为mylist,其内置函数有:
mylist.len() 返回list中元素的个数
mylist.append(x) 在list末尾加上x
mylist.insert(a,x) 在下标为a的位置插入元素x
mylist.clear() 清除所有的元素
mylist.copy() 返回一个相同的list
mylist.count(x)
mylist.pop(a) 删除下标为a的元素,默认删除末尾元素,不能对空list使用
......
切片:
mylist[a:b]得到下标为a的到第b个的元素
mylist[a:b:c]得到从下标为a的到第b个每隔c个的元素
一种生成列表的写法:
>>> mylist=[x*x for x in range(1,11)]
>>> mylist
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
元组tuple
与list相似,但元素不能修改,用()表示
注意:单独元素的元组不是元组
mytuple=('am')
type(mytuple)
结果为
<class'str'>
若要生成只有一个元素的元组,可加个逗号使用以下代码:
mutuple=('am',)
type(mytuple)
结果为
<class'tuple'>
字典dict
mydict{key1:value1, key2:value2,.…}
mydict[key]可得其value。>>> mydict={1:'a',2:'b',3:'c'}
>>> print(mydict)
{1: 'a', 2: 'b', 3: 'c'}
>>> for x in mydict:
... print(x)
...
1
2
3
>>> for x in mydict:
... print(mydict[x])
...
a
b
c
>>> for x in mydict.keys():
... print(x)
...
1
2
3
>>> for x in mydict.values():
... print(x)
...
a
b
c
>>> for x in mydict.items():
... print(x)
...
(1, 'a')
(2, 'b')
(3, 'c')
注意:若key不存在会报错。可用内置函数判断mydict.get(key),返回其value,若不存在则返回None
内置函数:
mydict.pop(key)参数为一key值,删除该key及其value
mydict.keys()
无需参数,返回所有keys的list
mydict.values()无需参数,返回所有values的list
mydict.items()无需参数,返回所有items(key:value)的list
……
set
set是一个list不重复的元素集合。可以进行逻辑运算:&、|等
元素可为任意类型,任意长度,不可重复,可修改
>>> myset=set([1,2,3,4,5,2,3,4])
>>> myset
set([1, 2, 3, 4, 5])
内置函数:
myset.add(x)
添加一个元素,添加一个已有元素不报错
myset.remove(x)
删除一个元素,删除一个不存在的元素报错
……
条件及循环
条件语句:
if
elif
else
循环语句:
for
while
file文件
打开、关闭文件:
open(file,mode='r',……) file为文件路径,一般为相对路径(即该Python文件所在路径)只需输入文件名即可。mode默认为‘r’(只可读)。
+能与rwa共用
打开文件后写入的操作的内容都存在缓冲区,.close()之后才被写入
该函数返回一个文件对象,有许多类函数:
.readline() 读一行
.readlines() 读全部得list
以下两个函数,打开格式需为可写。若mode为’w’时,文件内容会被覆盖清空
.writeline(str) 写一行
.writelines(list) 写多行,参数为一个list,一行为一个元素
……
注意:文件open()后必须close()(是一个内置函数)检测参数
例:假若一个函数有两个参数x,y,要求y必须为int类型,写法如下:
def func(x,y):
if not isinstance(x,int):
print('错误参数')
return
int的应用:把X进制转换为10进制
>>> int('1111',2)
15
>>> int('FFFF',16)
65535
lambda匿名函数
Foo=lambda num:num*num
注意:
*Python中没有常量
*可变长的参数\变量\……:*args,*other,……