python中的基础坑

v = [lambda :x  for x in range(10)]
print(v)    #[lambda :x,lambda :x....]10个匿名函数
print(v[0]) #lambda :x
print(v[0]())   #9

  

v = (lambda :x for x in range(10))
print(v)		#生成器
# print(v[0])	    #报错:生成器不能索引取值
# print(v[0]())   #报错:生成器不能索引取值
print(next(v))	#lambda :x
print(next(v)()) #1

  

def extendList(val, list=[]):
    list.append(val)
    return list

list1 = extendList(10)
list2 = extendList(123, [])
list3 = extendList(‘a‘)

print(‘list1=%s‘ % list1)  # list1=[10,‘a‘]
print(‘list2=%s‘ % list2)  # list2=[123]
print(‘list3=%s‘ % list3)  # list3=[10,‘a‘]

  

def add(a, b):
    return a + b

def test():
    for i in range(4):
        yield i

g = test()  # 生成器

for n in [2, 10]:
    g = (add(n, i) for i in g)# 生成器

print(list(g))#[20,21,22,13]
#n=2:
        # 循环体执行时i对应的值 (0,1,2,3)
        # 循环体执行之后:g类似于[add(n, 0),add(n, 1),add(n, 2),add(n, 3)]
    #n=10时:
        # 循环体执行时i 的值 (10,11,12,13)-----对n=2循环之后的g进行取值
        # 循环体执行之后:list(g)=(add(n, 10),add(n, 11),add(n, 12),add(n, 13))

  

li = [7,-8,5,4,0,-2,-5]
print(sorted(li,key=lambda x:(x<0,abs(x))))

  

print(5/2)
print(5.0/2)
print(5/2.0)
print(5.0/2.0)
print(5//2)
print(5.0//2)
print(5//2.0)
print(5.0//2.0)

#python3中   2.5     2.5     2.5     2.5     2   2.0     2.0     2.0
#python2中   2       2.5     2.5     2.5     2   2.0     2.0     2.0

  

dic={x:y for x in [‘Male‘,‘Female‘] for y in [‘Red‘,‘Black‘]}
print(dic)
# {‘Male‘:‘Black‘,‘Female‘:‘Black‘}

li=[(x,y) for x in [‘Male‘,‘Female‘] for y in [‘Red‘,‘Black‘]]
print(li)
#[(‘Male‘,‘Red‘),(‘Male‘,‘Black‘),(‘Female‘,‘Red‘),(‘Female‘,‘Black‘)]

  

li=[[]]*5           #[[], [], [], [], []]
li[0].append(1)     #[[1], [1], [1], [1], [1]]
li[3].append(0)     #[[1, 0], [1, 0], [1, 0], [1, 0], [1, 0]]
li.append(8)        #[[1, 0], [1, 0], [1, 0], [1, 0], [1, 0],8]
print(li)

  

t=((1,2))*5         #(1, 2, 1, 2, 1, 2, 1, 2, 1, 2)
t1=((1,2),)*5       #((1, 2), (1, 2), (1, 2), (1, 2), (1, 2))
print(t)
print(t1)

  

for x in range(5):
    pass
print(x)      #4

def f():
    x = 0
    for i in range(5):
        x += i
f()
print(x)

  

原文地址:https://www.cnblogs.com/open-yang/p/11425593.html

时间: 2024-08-02 02:23:00

python中的基础坑的相关文章

Python中的基础数据类型

Python中基础数据类型 1.数字 整型a=12或者a=int(2),本质上各种数据类型都可看成是类,声明一个变量时候则是在实例化一个类. 整型具备的功能: class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are gi

python中各种基础类型的转换,二进制,八进制,十进制,十六进制

python中所有类型都是作为对象的形式来存在的. 在python中没有char型,只有字符串类型,这样我们可能将char型转换为整型时极不方便,但是python已经提供了这些转换的内置函数. python 中除了整型,其他进制的只能用字符串来表示 1 int() 可以将 二进制,八进制,十六进制转换成十进制整型 >>> int('1111', 2) 15 >>> int('f', 16) 15 >>> int('17', 8) 15 2 chr()

Python中的基础定义

Python中的文档字符串:可以当作一种特殊的注释,简单的说明可以使用单引号或双引号,较长的文字说明可以使用三引号 变量定义:第一个字符只能是大小写字母或下划线,区分大小写 运算符: (1)算术运算符:+ .- .* ./ .// .% .** (2)比较运算符:< .<= .> .>= .== .!= .<> (3)逻辑运算:and .or 数据类型:数字.字符串.列表.元组.字典 基本数字类型:int:整数.long:长整数.float:浮点数.complex:复数

Python 中的那些坑总结——持续更新

1.三元表达式之坑 很显然,Python把第一行的(10 + 4)看成了三元表达式的前部分,这个坑是看了<Python cookbook>(P5)中学到的,书中的代码: 2.Python生成器(yield)+递归 前两天一直纠结python的生成器递归该怎么写,今天看了os.walk()的代码恍然大悟,编程真是博大精深啊!不多说,上代码: from os import path def walk(top, topdown=True, onerror=None, followlinks=Fals

python中的一些坑(待补充)

函数默认参数使用可变对象 def use_mutable_default_param(idx=0, ids=[]): ids.append(idx) print(idx) print(ids) use_mutable_default_param(idx=1) use_mutable_default_param(idx=2) 输出 1 [1] 2 [1, 2] 函数本身也是一个对象,默认参数绑定于这个函数对象上 append这类方法会直接修改对象,所以下次调用此函数时,其绑定的默认参数已经不再是空

python中set基础应用

'''set:类似dict,是一组key的集合,不存储value 本质是无序和无重复元素的集合 '''#创建#创建set需要一个list或者tuple或者dict作为输入集合s1=set({1,2,3,4,5})s2=set({1,2,2,5,3,3,5})s3=set({1:"123",2:"daf"})print(s1)#{1, 2, 3, 4, 5}print(s2)#{1, 2, 3, 5}自动去除重复项print(s3)#{1, 2} #添加s4=set(

Python中的文本(一)

本文主要记录和总结本人在阅读<Python标准库>一书,文本这一章节的学习和理解. 其实在Python中,使用文本这样的一些方法是特别常用的一件事.在一般的情况下,都会使用String这样的一个类,应该算是Python中最基础的一个标准类了. 1.1 函数 string类中的capwords()和maketrans(). capwords()的作用是将一个字符串中的所有单词的首字母大写: maketrans()函数将创建转换表,可以translate()方法将一组字符修改成另一组字符,这种做法

python中的文本(二)

本文主要记录和总结本人在阅读<Python标准库>一书,文本这一章节的学习和理解. 其实在Python中,使用文本这样的一些方法是特别常用的一件事.在一般的情况下,都会使用String这样的一个类,应该算是Python中最基础的一个标准类了. 1.3.6 用组解析匹配 match.groups()会按照表达式中与字符串匹配的组的顺序返回一个字符串序列. 使用group()可以得到某个组的匹配. #组解析 text='This is a text -- with punctuation.' pr

python中list,tuple的讨论

2.4元祖tupe. 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组.例:(1,2,3)("a","b","c") 2.5列表list. 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,