python一些点

本文介绍了Python的一些基础操作,包括enumerate在for循环中的应用,range和xrange的区别,列表的pop方法,以及进制转换。此外,还讨论了列表、元组、集合和字典等数据结构,以及逻辑运算符的优先级和迭代器的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

enumerate

python内置的enumerate函数可以把一个 list 变成索引-数据对,这样就可以在 for 循环中同时迭代索引和元素本身

 for i, value in enumerate(['A', 'B', 'C']):
     print(i, value)

输出:

1 1
2 4
3 9

(同时引用了两个变量)

xrange和range

range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表

range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(2,10)
[2, 3, 4, 5, 6, 7, 8, 9]
range(2,10,2)
[2, 4, 6, 8]
type(_)
<type ‘list’>

xrange和range的用法完全相同,但返回的是一个生成器

xrange(10)
xrange(10)
xrange(2,10)
xrange(2, 10)
xrange(2,10,2)
xrange(2, 10, 2)
type(_)
<type ‘xrange’>
list(xrange(2, 10, 2))
[2, 4, 6, 8]

但要生成很大的数字序列时,用xrange比range的性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本都是在循环的时候用

pop

list.pop()用于移除列表中的一个元素,默认最后一个元素,并返回该元素的值

int(a, 2)

第一个参数表示正常传入的,第二个参数表示输入的进制数

d = int(a, 2) #二进制转十进制
e = int(b, 8)      # 八进制转十进制
f = int(c, 16)     # 十六进制转十进制

format

  1. 使用位置参数
  2. 使用关键字参数
  3. 填充与格式化
'{0:*>10}'.format(10) ##右对齐
'{0:*<10}'.format(10) ##左对齐
'{0:*^10}'.format(10) ##居中对齐
  1. 精度与进制
'{0:.2f}'.format(1/3)   #输出0.33
'{0:o}'.format(10) #八进制 输出12
'{0:x}'.format(10) #16进制 输出a
  1. 使用索引

list tuple set dictionary

  1. list

list是写在方括号 [] 之间、用逗号分隔开的元素列表。
列表比较需要用到operator的eq方法

  1. tuple

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

列表是有序的对象集合,字典是无序的对象集合。

  1. set

set可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。基本功能是进行成员关系测试和删除重复元素。

sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}

print(sites)   # 输出集合,重复的元素被自动去掉

# 成员测试
if 'Runoob' in sites :
    print('Runoob 在集合中')
else :
    print('Runoob 不在集合中')

无序的,不重复的

a = set('abracadabra')
b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
  1. dictionary

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

运算符

x = True
y = False
z = False

if x or y and z:
    print("yes")
else:
    print("no")

输出 no
and 拥有更高优先级,会先行运算。

迭代器

iter()
next()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值