生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):
list(range(1,11))
生成[1x1, 2x2, 3x3, …, 10x10]怎么做?
方法一:
是循环:
l=[]
for(x in range(1,11)):
l.append(x*x)
l
方法二:
循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:
[x*x for x in range(1,11)]
延伸:
筛选出仅偶数的平方:
[x*x for x in range(1,11) if x % 2 ==0]
还可以使用两层循环,可以生成全排列:
[m+n for m in 'ABC' for n in 'XYZ']
三层和三层以上的循环就很少用到了。
列出当前目录下的所有文件和目录名,可以通过一行代码实现:
import os
[d for d in os.listdir('.')]
Python编程语言如何获得目录中的内容
在Python中可以使用os.listdir()函数获得指定目录中的内容。其原型如下所示。
os.listdir(path)
其参数含义如下。path 要获得内容目录的路径。以下实例获得当前目录的内容。
import os
os.listdir(os.getcwd())
获得当前目录中的内容
如何用Python编程语言创建目录
在Python中可以使用os.mkdir()函数创建目录。其原型如下所示。
os.mkdir(path)
其参数含义为。 path 要创建目录的路径。以下的实例将在E:\book目录下创建temp目录。
import os
os.mkdir('E:\\book\\temp')
使用os.mkdir创建目录
删除目录
在Python中可以使用os.rmdir()函数删除目录。其原型如下所示。
os.rmdir(path)
其参数含义如下。path 要删除的目录的路径。以下实例删除E:\book\temp目录。
import os
os.rmdir('E:\\book\\temp')
删除目录需要说明的是,使用os.rmdir删除的目录必须为空目录,否则函数出错。以上的内容就是对Python编程语言如何获得目录中的内容,创建目录,还有如何用Python编程语言删除目录的相关内容的介绍。
Python的字典dict的items(), keys(), values()都返回一个list
dict = { 1 : 2, 'a' : 'b', 'hello' : 'world' }
dict.values()
结果:
['b', 2, 'world']
dict.keys()
结果:
['a',1,'hello']
dict.items()
结果:
[('a', 'b'), (1, 2), ('hello', 'world')]
for循环其实可以同时使用两个甚至多个变量,比如dict的items()可以同时迭代key和value:
d = {'x': 'A', 'y': 'B', 'z': 'C' }
for k,v in d.items():
print(k,'=',v)
结果:
y = B
x = A
z = C
列表生成式也可以使用两个变量来生成list:
d = {'x': 'A', 'y': 'B', 'z': 'C' }
[k + '=' + v for k,v in d.items()]
把一个list中所有的字符串变成小写:
L = ['Hello', 'World', 'IBM', 'Apple']
[s.lower for s in l]
如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会报错:
L = ['Hello', 'World', 18, 'Apple', None]
[s.lower() for s in L]
使用内建的isinstance函数可以判断一个变量是不是字符串:
x = 'abc'
y = 123
isinstance(x, str)
True
isinstance(y, str)
False
修改列表生成式,通过添加if语句保证列表生成式能正确地执行:
L = ['Hello', 'World', 18, 'Apple', None]
#[s.lower() for s in L]
[s.lower() for s in L if isinstance(s,str)]